一尘不染

使用Selenium处理浏览器弹出窗口

selenium

我们正在针对现有代码库运行Selenium回归测试,并且Web应用程序中的某些屏幕使用弹出窗口作为中间步骤。

当前,我们在测试中使用以下命令:

// force new window to open at this point - so we can select it later
selenium().getEval("this.browserbot.getCurrentWindow().open('', 'enquiryPopup')");
selenium().click("//input[@value='Submit']");
selenium().waitForPopUp("enquiryPopup", getWaitTime());
selenium().selectWindow("enquiryPopup");

大多数情况下都可以使用 。偶尔测试将失败在waitForPopUp()与线

com.thoughtworks.selenium.SeleniumException: Permission denied

谁能建议一种更好,更 可靠的 方法?

另外,我们主要在IE6和7上运行这些测试。


阅读 1058

收藏
2020-06-26

共1个答案

一尘不染

有用!!只是为了让那些喜欢硒的人们更容易。

这对我使用IE7(正常模式)有效。

真是个令人毛骨悚然的麻烦。感谢天空中的意大利细面条怪兽,否则我将无法在IE中正常工作。

<tr>
    <td>getEval</td>
    <td>selenium.browserbot.getCurrentWindow().open('', 'windowName');</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>buttonName</td>
    <td></td>
</tr>
<tr>
    <td>windowFocus</td>
    <td>windowName</td>
    <td></td>
</tr>
<tr>
    <td>waitForPopUp</td>
    <td>windowName</td>
    <td>3000</td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>windowName</td>
    <td></td>
</tr>
2020-06-26