2017-04-24 78 views

回答

0

如果某个元素在屏幕上不可见,则守夜人无法点击它。

在你失败测试时,你需要调用替换到

browser.click(hiddenElementSelector); 

通过

// Will scroll to the element 
browser.moveToElement(hiddenElementSelector); 
// Then nightwatch will successfully click on it 
browser.click(hiddenElementSelector); 
1

如果您正在使用xvfb作为虚拟监视器,你可以尝试改变浏览器phantomJS

+0

应用屏幕尺寸参数,但Nightwatch测试还有其他一些问题(例如,定位元素)与其他浏览器中没有的浏览器 –

0

试试这个并扩大虚拟窗口:

xvfb-run --server-args="-screen 0, 1900x1200x16" npm run your_nightwatch_tests 
+0

是的,我遇到了这个解决方案,但我的测试代理没有在Linux操作系统上运行。 –

+0

我建议你在两种情况下尝试使用--verbose选项,并查看Nightwatch输出的第一个请求/响应。它将开始“INFO请求:POST/wd/hub/session”。浏览器的细节是否一致? –