当前位置: 首页 > 面试题库 >

Selenium IDE:在新选项卡中打开并将焦点转移到新选项卡不起作用

岳良策
2023-03-14
问题内容

我在selenium离子中停留了一点

场景是这样的

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不支持该目标! 随机目标为:selenium_blank84419

谁能帮我正确编写代码


问题答案:

以下代码对我有用:

<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>

我希望它能帮助其他面临类似问题的人



 类似资料:
  • 问题内容: 我开始学习如何使用带Java的Selenium在浏览器中处理多个选项卡。看起来我下面的代码无法正常工作。 请让我知道如何在不使用getWindowHandles()的情况下显示标题“数据策略”。 问题答案: 可以正常工作,但是在调用之前,您必须按照以下步骤诱使 WebDriverwait : 控制台输出:

  • 因此,我有一个,我想冲浪到新选项卡中,链接是不可点击的,所以当我点击这个链接时,什么也不会发生,这将不起作用(甚至不手动): 这是我的web URL:

  • 我有两个文件并排打开,如图所示: 如果我Ctrl在左窗格中单击函数名,我希望VSCode将焦点切换到右窗格中已打开的文件。相反,VSCode在当前左窗格的新选项卡中打开文件(在红色矩形指示的位置)。现在您有三个选项卡而不是两个,并且在视图中被遮盖。 如何更改此行为,使VSCode关注已打开的选项卡,而不是打开新的冗余选项卡?

  • 您好,我正在使用selenium单击链接,通常使用在线web应用程序。 当我单击打开新选项卡的特定链接并在新打开的选项卡中执行操作时,我会遇到问题。我有以下代码: 之后,网络驱动程序(从我的眼睛)打开到新标签,而我不必调用 所以一切都好。新标签会在WebDrive上打开。当我尝试单击新打开的选项卡上的链接时,我得到一个“无元素”异常,这意味着它找不到我要找的元素。 两个问题: 1) webdriv

  • 问题内容: 我有来自第三方开发人员的JavaScript文件。它具有一个具有链接的链接,该链接将当前页面替换为目标页面。我想在新标签页中打开此页面。 这是我到目前为止所拥有的: 谁能帮我吗? 问题答案:

  • 所以我试图在我的WebDriver中打开新的标签页。我想这样做,因为打开一个新的WebDriver为每个网站使用PhantomJS约3.5秒,我想要更快... 我使用的是一个多进程python脚本,我希望从每个页面中获取一些元素,因此工作流如下所示: