我正在使用NightWatchJS进行端到端测试。我的测试通过了Chrome,Firefox,IE和Edge的测试,但其中一项测试失败了。单击URL事件似乎失败了。
'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()
},
感谢您的帮助。
看起来像硒问题。
https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/5404
硒首先获得元素的位置,然后发送鼠标点击事件。如果元素在时间之间移动,则不会单击该元素。
我也遇到了这个问题,我的测试用例正在尝试单击A,但B被单击。仍在尝试找出解决方案。
在另一个项目中,我也遇到了另一个原因。该页面响应迅速,当浏览器宽度小于1000px时,有些元素是display:none
。当NightWatch启动Chrome或Firefox时,浏览器窗口已完全屏幕化,但是Phantomjs的默认视口尺寸会触发响应状况。因此,硒甚至找不到我要单击的元素。