Selenium IDE中的切换选项卡

问题描述 投票:1回答:2

如何关注Selenium IDE中新打开的窗口?

我点击链接,将打开一个新标签。但是我无法将焦点转移到新窗口。

我尝试过this other SO answer,但它仍然无效。

这是我尝试过的代码:

<tr>
    <td>storeEval</td>
    <td>selenium.getAllWindowTitles()[0]</td>
    <td>windowName</td>
</tr>
<tr>
    <td>getEval</td>
    <td>this.doEcho(&quot;array length: &quot;+selenium.getAllWindowNames().length);this.doEcho(&quot;Available window names: &quot;+selenium.getAllWindowNames());this.doEcho(&quot;Selecting window: &quot;+storedVars['windowName']);this.doEcho(&quot;Available window Titles: &quot;+selenium.getAllWindowTitles());</td>
    <td></td>
</tr>
<tr>
    <td>echo</td>
    <td>${windowName}</td>
    <td></td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>title=${windowName}</td>
    <td></td>
</tr>

此代码使用当前选项卡而不是新选项卡,在echo中,它打印当前选项卡的标题,因此再次聚焦于当前选项卡。当我在第一行的数组参数(1)中使用0而不是selenium.getAllWindowTitles()[1]时,它正在打印null

我也试过名字而不是标题,但它仍然无效。

selenium firefox selenium-ide
2个回答
1
投票

您是否尝试在waitForPopUp之前添加命令selectWindow

当我尝试使selectWindow命令工作时,这就是我的测试用例的代码:

<tr>
    <td>click</td>
    <td>link=Named window by hyperlink</td>
    <td></td>
</tr>
<tr>
    <td>waitForPopUp</td>
    <td></td>
    <td>30000</td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>name=namedWindowByHyperlink1</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=Named window by hyperlink</td>
    <td></td>
</tr>
<tr>
    <td>waitForPopUp</td>
    <td></td>
    <td>30000</td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>name=namedWindowByHyperlink2</td>
    <td></td>
</tr>
<tr>
    <td>verifyText</td>
    <td>css=p</td>
    <td>Test was completed.</td>
</tr>

当我使用这段代码时,我可以在尝试将注意力集中到新窗口时传递测试用例。

希望它可以帮到你。

如果需要,请尝试使用qlenxswpoi工具,即Selenium IDE的扩展版本。 SideeX现在被用作SideeX的基础。

我在这个工具中有一些关于窗口和框架问题的新想法,以使测试用例工作。


0
投票

我有一个类似的问题,在测试环境中,所有的窗口基本上都分配了相同的名称。每当我测试打开新标签的功能时,我就会使用

selectWindow new

当我完成测试该页面时,

closeWindow关闭那个新标签,然后

selectWindow使用NULL或无参数返回主窗口。

© www.soinside.com 2019 - 2024. All rights reserved.