我想知道在使用Webdriverjs的if语句中是否有一种处理警报的好方法。我尝试了一些我在这里和其他网站上找到的不同的方法,但都没有成功。不过,我对Javascript和Node.js非常陌生,所以这可能是我的一个实现问题。
具体来说,我在几乎相同的页面上对多个不同的客户端进行自动化测试。但是,只有某些客户端在按下特定按钮时才会发出警报。因此,我想通过if语句来处理这一问题,检测是否存在警报并进行相应的处理,否则继续进行。
我读过之前的一篇文章,详细介绍了Java中的类似问题,响应者指出,在自动化测试中,您应该始终知道站点将如何工作,也许应该以完全不同的方式处理这个问题。我能想到的最简单但最不可取的方法就是简单地编写两个不同的测试,这是我可以做的。
对于代码的任何建议,以及对此问题的更广泛的投入,我们将不胜感激。
提前感谢!
发布于 2016-11-09 19:33:24
如果尝试访问带有警报的页面元素,Selenium将引发UnhandledAlertException: Modal dialog present异常。由于您似乎知道是哪个按钮导致了警报,所以您应该知道在哪里尝试/捕获此异常并进行适当处理。
然后,您可以使用org.openqa.selenium.Alert包来接受、解散等弹出窗口。
http://toolsqa.com/selenium-webdriver/handling-of-alerts-javascript-alerts-and-popup-boxes/
https://stackoverflow.com/questions/40514519
复制相似问题