javascript - 使用 if 语句 Webdriverjs 检测警报

标签 javascript node.js selenium-webdriver mocha.js alert

我想知道是否有一种好的方法可以使用 Webdriverjs 处理 if 语句中的警报。我尝试了在这里和其他网站上找到的几种不同的方法,但没有成功。然而,我对 Javascript 和 Node.js 非常陌生,所以这可能是我的一个实现。

具体来说,我正在几乎相同的页面上为许多不同的客户端进行自动化测试。但是,只有某些客户端在按下特定按钮时才会发出警报。因此,我想通过 if 语句来处理这个问题,方法是检测是否存在警报并相应地进行,否则继续。

我确实读过一篇文章,详细介绍了 Java 中的类似问题,响应者指出,在自动化测试中,您应该始终了解网站的行为方式,并且也许应该以完全不同的方式处理此问题。我能想到的最简单但最不理想的方法是简单地编写两个不同的测试,我可以这样做。

任何对代码的建议,以及对此问题的更普遍的意见,我们将不胜感激。

提前致谢!

最佳答案

如果您尝试访问存在警报的页面元素,Selenium 会抛出 UnhandledAlertException:模态对话框存在 异常。由于您似乎知道哪个按钮会导致警报,因此您应该知道在哪里尝试/捕获此异常并进行适当的处​​理。

然后,您可以使用org.openqa.selenium.Alert包来接受、关闭弹出窗口等。

http://toolsqa.com/selenium-webdriver/handling-of-alerts-javascript-alerts-and-popup-boxes/

关于javascript - 使用 if 语句 Webdriverjs 检测警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40514519/

相关文章:

javascript - 运行 server.js 时 NodeJS require 错误

node.js - BitBucket 管道 - 使用 node/gulp/git ftp 构建和部署

javascript - 使用 requirejs 和 typescript 的 Node 模块

selenium - 为什么Selenium占用大量内存

javascript - Protractor Zip 文件上传

javascript - 如何在 JavaScript 中动态更改 Morris Chart 的数据?

javascript - Webpack -- 包含配置文件作为外部资源

firefox - Selenium Webdriver 测试期间的多个 Firefox 实例无法正确处理焦点。

javascript - 如何从 Firefox 工具栏中访问 HTTP header

javascript - 将鼠标悬停在下一个图像上淡入淡出或在第一个图像上淡入淡出