当前位置: 首页 > 面试题库 >

如何使用Selenium测试模式对话框?

国跃
2023-03-14
问题内容

我开始使用Selenium
IDE,
并尝试测试一个充满模式对话框(window.showModalDialog)的Web应用程序。

记录测试似乎可以正常工作(除非弹出对话框时日志中没有任何内容),但是它们不能正确播放。该脚本实际上打开了窗口(通过单击按钮触发),但随后无限期地等待。

有什么建议?


问题答案:

从Selenium常见问题解答中,Selenium显然适用于某些类型的对话框,但不适用于其他类型的对话框:

我无法与弹出对话框进行交互。我的测试停止了!

您可以,但前提是该对话框是警报或确认对话框。javascript无法关闭其他特殊对话框,因此当前无法与之交互。其中包括“保存文件”,“记住此密码”(Firefox)和模式对话框(IE)。当它们出现时,Selenium只能在绝望中扭动双手。

要解决此问题,您可以使用一种解决方法(如果存在);否则,您可能必须从自动语料库中排除测试。对于Firefox中的“保存文件”对话框,可以在通过RC运行时指定自定义模板,该模板将始终导致文件下载到指定位置,而无需查询用户(请参阅
http://forums.openqa.org
/thread.jspa?messageID=31350
)。选择记住它后,“记住此密码”对话框将不再出现。当前,关于IE模式对话框的工作还不多。

我似乎记得有人用可以关闭对话框的AutoHotKey脚本解决此问题。



 类似资料:
  • 在尝试通过扩展抽象类和测试类来创建测试时,我得到了NullPointerException。错误: java.lang.NullPoInterException(位于pages.userRegistrationPage.java:61)(位于userRegistrationPage.java:61)(位于sun.reflect.nativeMethodAccessorImpl.Invoke0(原生

  • 问题内容: 我正在尝试编写代码以检查单击SVG对象的功能-例如此URL上的美国状态 这可行,但是有更好的方法吗?有没有物理移动鼠标的东西? 问题答案: 在SVG中,显示的所有内容都是由坐标定义的块。在您的情况下,每个状态也是一个块,因此有一个XPath,您可以在Selenium代码中使用它。 使用浏览器开发工具分析页面代码,并找到与您要单击的状态相对应的块。 这是与加利福尼亚相对应的元素。 找到它

  • 问题内容: 我想在jboss上使用gradle进行selenium测试,并且能够进行所需的配置,并且希望与社区共享。 问题答案: 解决方法如下: gradle.build: 您需要手动启动jboss服务器,然后使用命令 gradlew clean selenium

  • 我试图找出如何单击按钮“停用”。这是html代码: 我试着这样点击这个按钮: 但是这没有帮助

  • 这是我想向下滚动的代码: element=driver.find_element(by.xpath(“//div[@class='md-dialog-container']//md-list-item[30]”))#选择内容div driver.execute_script(“arguments[0].scrollintoView(true);”,element)#滚动到最后一个子节点 但我收到消