我开始使用Selenium IDE并尝试测试一个充满模态对话框的网络应用程序(window.showModalDialog
)。
记录测试似乎有效(除了弹出对话框时日志中没有任何内容)但它们无法正常播放。该脚本实际上打开了窗口(由按钮单击触发),但随后只是无限期地等待。
有什么建议吗?
答案 0 :(得分:3)
从Selenium FAQ开始,Selenium显然适用于某些类型的对话,但不适用于其他类型的对话:
我无法与弹出式对话框进行交互。 我的测试停止了!
您可以,但仅当对话框是 警报或确认对话框。其他 特殊对话不能被驳回 javascript,因此目前不能 与...互动。这些包括 “保存文件”,“记住此密码” (Firefox)和模态(IE)对话框。 当它们出现时,Selenium只能 绝望地握手。
要解决此问题,您可以使用 解决方法(如果存在);除此以外 你可能不得不排除测试 你的自动语料库。对于“保存 文件“Firefox中的对话框,自定义 运行时可以指定模板 通过RC将永远导致 要下载到指定的文件 位置,无需查询用户 (看到 http://forums.openqa.org/thread.jspa?messageID=31350)。 “记住此密码”对话框 你不应该再出现 选择记住它。目前有 关于IE,可以做的事情并不多 模态对话框。
我似乎记得有人用AutoHotKey脚本解决了这个问题。
答案 1 :(得分:3)
我一直在使用Selenium IDE测试jQuery模式很长一段时间,我从来没有遇到任何问题。以下是我要做的事情,以确保测试在播放时正确执行:
希望这会有所帮助。如果您需要进一步的帮助,可以与我共享代码以及IDE抛出给您的错误。
答案 2 :(得分:2)
答案 3 :(得分:0)
这是我在Selenium IDE中处理弹出警报的方法
右键单击元素(在本例中为弹出窗口),您可以选择一些命令。还有一个显示所有可用命令,可能是一个帮助。 你应该使用AssertElementPreset,我想在这种情况下最好的定位器是CSS。所以你可以选择AssertElementPresent。
或者
您可以在Selenium IDE上使用两个命令
selectWindow | null
verifyElementPresent | css=div.content
希望这有帮助!