1

我使用Chrome作为浏览器,无法完全弄清楚如何关闭点击某个按钮时出现的打印对话框。 我尝试使用browser.dismissAlert();browser.keys([browser.Keys.ESCAPE]);击中退出按钮,并且都不起作用。我不确定Nightwatch是否知道有一个对话框。解除Nightwatch中的打印对话框?

我一直在网上搜索,似乎无法找到解决方案...任何人有任何想法请吗?

+0

使用Selenium你需要切换到警报和接受它。 [这个答案](http://stackoverflow.com/a/13714614/1555990)虽然不是专门针对你的问题,但有一个如何切换到并接受警报的例子。 – That1Guy

+0

我确实尝试过,但不幸的是它没有奏效!我看到类似的问题,人们在其他浏览器中没有遇到这个问题,所以我有一种感觉,就是说Chrome不会让测试与它交互 – Lauripops

+0

如果.acceptAlert()工作但.dismissAlert(),您可以在github上发布这个问题,可能是一个错误。 –

回答

2

因此,事实证明,Selenium无法处理Chrome对话框。然而,我通过阅读this page并将--disable-print-preview添加到我项目中的nightwatch.json文件中的chromeOptions中找到了解决方案。

这打消了Chrome打印对话框,但仍然显示Mac系统对话框,并且我不认为Selenium功能扩展到了系统对话框,所以出于测试目的,我刚刚禁用了打印功能。

耻辱,我没有找到一个更好的解决方案,但只是想更新那些你upvoting