硒IDE:打开新的标签和焦点切换到新的标签页不能正常工作(Selenium IDE:Opening

2019-06-26 03:19发布

我已经陷在硒IDE一个点

该方案是这样的

Login-----

go to dashboard page---------

mouse over any menu on the top navigational bar----

on mouseover sub menu will appear as drop down--

now click any link from the drop down --

after clicking link will open in new tab

现在从这一点上,病房,我们有我们的重点转移到新的标签,因为测试的其余部分将是新的标签来完成。

我写的代码如下

     <tr>
    <td>open</td>
    <td>/magma/dev/</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>name=user_id</td>
    <td>abcd</td>
</tr>
<tr>
    <td>type</td>
    <td>name=pass</td>
    <td>1234</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>id=btnLogin</td>
    <td></td>
</tr>
<tr>
    <td>verifyTextPresent</td>
    <td>Costing List</td>
    <td></td>
</tr>
<tr>
    <td>verifyTextPresent</td>
    <td>Fuel</td>
    <td></td>
</tr>
<tr>
    <td>mouseOver</td>
    <td>//div[@id='smoothmenu1']/ul/li[3]</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=Fuel Cost</td>
    <td></td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>http://10.0.1.101/magma/dev/fuelcost/</td>
    <td></td>
</tr>
<tr>
    <td>verifyTextPresent</td>
    <td>Manage Fuel Cost</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>link=Logout</td>
    <td></td>
</tr>

此代码是高达点击从下拉子菜单正常运行后,它不工作和错误显示在日志中

所以当曾经我试图它显示错误运行测试用例

[警告]链接有目标“_blank”,这是不以硒支持! 随机化的目标是:selenium_blank84419

任何一个可以请帮我写正确的代码

Answer 1:

下面的代码对我的作品:

<tr>
    <td>storeEval</td>
    <td>selenium.getAllWindowNames()[1]</td>
    <td>windowName</td>
</tr>
<tr>
    <td>getEval</td>
    <td>this.doEcho("array length: "+selenium.getAllWindowNames().length);this.doEcho("Available window names: "+selenium.getAllWindowNames());this.doEcho("Selecting window: "+storedVars['windowName']);</td>
    <td></td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>${windowName}</td>
    <td></td>
</tr>

我希望这将帮助其他人谁也面临同样类型的问题



Answer 2:

使用selectPopUp ,但不storeEvalselectWindow ,他们两人都太复杂了。

selectPopUp:

  • 参数:WINDOWID - 用于识别上述弹出窗口,其可采取多种不同的含义的

  • 简化了选择的弹出窗口的过程(并没有提供超出selectWindow()已经提供的功能)。

    • 如果要么没有指定WINDOWID,或指定为“空”,则选择所述第一非顶部窗口。 顶部窗口是将由selectWindow()而不提供WINDOWID被选择的一个。 当一个以上的弹出窗口中播放这不应该被使用。
    • 否则,窗口将被查找考虑WINDOWID为以下顺序:窗口的1)中的“姓名”,作为指定对window.open(); 2)JavaScript变量这是一个窗口的引用; 和3)窗口的标题。 这是selectWindow执行相同的命令查找。

下面的代码(硒脚本,我从硒IDE复制)指示的动作:

1.单击一个“编辑”链接

2.wait 2秒(等待新窗口中打开)

3.focus新窗口

<tr>
    <td>click</td>
    <td>link=edit</td>
    <td></td>
</tr>
<tr>
    <td>pause</td>
    <td>2000</td>
    <td></td>
</tr>
<tr>
    <td>selectPopUp</td>
    <td></td>
    <td></td>
</tr>


Answer 3:

<tr>
    <td>selectWindow</td>
    <td>http://10.0.1.101/magma/dev/fuelcost/</td>
    <td></td>
</tr>

替换<td>http://10.0.1.101/magma/dev/fuelcost/</td>window IDwindow titlewindow name



Answer 4:

与选项selectWindow尝试()就提供了窗口标题名称withing()。 对于防爆:窗口标题是测试,然后命令:selectWindow标题:测试

要知道,新打开的窗口的标题遵循的步骤:进入新的窗口中,右键单击 - >查看页面源按ctrl + F。 输入标题和serch主页。 您将获得新的窗口的标题



Answer 5:

我希望这有助于有人出来! 它的工作很适合我。 你仍然可以在日志中的警告,但测试工作。



Answer 6:

请点击新标签事件之后添加waitForPopUp和selectPopUp事件。 它为我工作。



Answer 7:

我现在用的追随者,它为我工作,希望它帮助! :)

storeEval | this.browserbot.findElement('link=link name').href |    myUrl | 
open | ${myUrl}


Answer 8:

我用storeAttribute incombination与open

链接: http://www.seleniumwiki.com/software-testing/how-to-solve-the-link-has-target-_blank-which-is-not-supported-in-selenium/

我用这样的:



Answer 9:

作为替代,这是可能的点击之前删除从链接的目标属性。 下面的代码删除从当前页面上的所有链接的所有目标的属性:

<tr>
    <td>runScript</td>
    <td>Array.from(document.links).forEach(function(link){link.removeAttribute('target')})</td>
    <td></td>
</tr>


文章来源: Selenium IDE:Opening in new tab and shift focus to new tab not working