2016-12-21 11 views
0

Я использую nightwatchjs для тестирования конца. Мой тест проходит для хрома, firefox, то есть и края, но один из тестов не подходит для phantomjs. событие click для URL-адреса кажется неудачным.событие click для ссылки не работает для phantomjs

'do somethings' : function(browser) { 
     browser 
      .setValue('input[id=SearchInput]', '000') 
      .click('button[id=Button]') 
      .assert.containsText('label[id=nOutput]', '000') 
      .click('a[id=link]')// this click is not working 
      .pause(1000) 
      .assert.value('input[id=Input]', 'A') 
      .assert.value('input[id=InputB]', 'B') 

      //reset page 
      .click('button[id=__xmlview0--clearButton]') 
      .end() 
    }, 

Спасибо за помощь.

+0

Вы имеете в виду, что в phantomjs нет тестового прогона? И как вы узнали, что навигационная навигация не происходит? поскольку фантомы кажутся – Priya

+0

Все тестовые прогоны, за исключением тех, которые я упомянул в коде. Похож на '.click ('a [id = link]')' не работает – user557657

+0

Интересно. Можете ли вы опубликовать сообщение об ошибке, которое вы можете увидеть в консоли? – Priya

ответ

0

Похож на проблему селена.

https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/5404

Селен первым получает позицию элемента, а затем отправляет событие мыши. Если элемент перемещается между временем, элемент не будет нажат.

Я тоже это обнаружил, мой тестовый пример пытается щелкнуть A, но B получает щелчок. Все еще пытаюсь найти решение.

В другом проекте я также столкнулся с другой причиной. Страница готова к реагированию, некоторые элементы - display:none, когда ширина браузера меньше, скажем, 1000 пикселей. Когда nightwatch запускает Chrome или Firefox, окно браузера полностью экранируется, но размер видового экрана по умолчанию phantomjs вызывает срабатывающее условие. Поэтому Selenium не может даже найти элемент, который я хочу щелкнуть.