我正在用 PHP(5.3.15)编写一个 Selenium(服务器 2.31.0)测试,需要测试弹出窗口是否关闭。弹出窗口是使用jQuery UI Dialog Widget实现的。HelloWorld
弹出窗口本身包含一些不会出现在弹出窗口之外的简单文本 ( )。
使用 . 检测弹出窗口的外观很好isTextPresent("HelloWorld");
。然后我关闭窗口clickAt("//a[contains(@class, 'ui-dialog-titlebar-close')]");
(我可以看到工作),然后测试关闭的弹出窗口!isTextPresent("HelloWorld");
。我应该补充一点,我正在做适当的事情以确保弹出窗口有时间打开/关闭;有一个重复的暂停和检查周期,如果我通过显式睡眠来强制问题,我也可以看到效果。
这在 Firefox (19.0.2) 下工作正常,但在 Chrome (25.0.1364.172) 下失败。即窗口正在关闭,但我没有在 Selenium 下检测到这一点。我预计这是由于 Selenium 如何进行isTextPresent
检查和/或弹出窗口仅被隐藏而不是关闭。
我正在寻找一种方法来检测适用于 Chrome 的关闭弹出窗口。跨浏览器会很棒,但目前,我可以在不同的浏览器上运行不同的测试。