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

Mic*_*ren 8 selenium unit-testing selenium-ide

我开始使用Selenium IDE并尝试测试一个充满模态对话框的webapp(window.showModalDialog).

记录测试似乎有效(除了弹出对话框时日志中没有任何内容)但它们无法正常播放.该脚本实际上打开了窗口(由按钮单击触发),但随后只是无限期地等待.

有什么建议?

Pet*_*aat 3

Selenium FAQ来看,Selenium 显然适用于某些类型的对话框,但不适用于其他类型的对话框:

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

您可以,但前提是该对话框是警报或确认对话框。其他特殊对话框无法通过 JavaScript 关闭,因此目前无法与之交互。其中包括“保存文件”、“记住此密码”(Firefox) 和模式 (IE) 对话框。当它们出现时,Selenium 只能绝望地绞尽脑汁。

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

我似乎记得有人使用AutoHotKey脚本解决了这个问题,该脚本关闭了对话框。