RobotFramework:最后一个索引没有新窗口。请使用' @ {ex} = |列出Windows' +新>窗口触发器+'选择窗口| $ {}恩'找到它

时间:2017-05-31 06:46:30

标签: robotframework

我的要求是,点击窗口中的按钮(父窗口),它必须打开一个新窗口(弹出窗口,子窗口),我为此编写了一个测试用例。

但问题是当单击父窗口上的按钮时,我的脚本失败并在报告/日志中显示为:

  

"最后一个索引没有新窗口。请使用' @ {ex} = |列出Windows' +新的   窗口触发器+'选择窗口| $ {}恩'找到它。"

下面是我的测试用例中使用的userdefined关键字之一,它在Robot Framework中失败:

Move To Chat Page
    Click Button                    Continue to ChatPage>>

    Select Window                   new
    Set Selenium Implicit Wait      6s
    Click Button                    //input[@type='submit'][@value='Continue with ChatBot']

    Set Selenium Implicit Wait      3s
    Click Element                   user.profileBean.issue
    Select From List By Value       user.profileBean.overrideIssue      2
    Click Button                    Continue to connect

    Set Selenium Implicit Wait  3s
    Select Window                   main
    Title Should Be                 XYZ

以下是截图:

enter image description here

1 个答案:

答案 0 :(得分:0)

使用Windows时,最好使用唯一的ID,名称,标题或弹出窗口的URL。在下面的例子中,我有一个简单的索引页面,可以创建一个弹出窗口。

<强>的index.html

<html>
  <head>
    <title>main-window</title>
  </head>
  <body>
    <a href="http://localhost:8090/popup/popup.html" onclick="javascript:void window.open('http://localhost:8090/popup/popup.html','1496569988172','width=700,height=500,toolbar=0,menubar=0,location=0,status=0,scrollbars=0,resizable=0,left=0,top=0');return false;">Pop-up Window</a>
  </body>
</html>

<强> popup.html

<html>
  <head>
    <title>popup-window</title>
  </head>
  <body>
     Pop!!
  </body>
</html>

使用以下机器人脚本时,会在窗口之间切换。

*** Settings ***
Library    Selenium2Library

*** Test Cases ***
Test popup
    Create Webdriver    Chrome
    Go To    http://localhost:8090/popup/
    Click Link    Pop-up Window
    Select Window    url=http://localhost:8090/popup/popup.html
    Log Title
    Select Window
    Log Title
    Capture Page Screenshot 
    [Teardown]  Close All Browsers

在这种情况下,会将以下项目添加到日志文件中:

  • 主窗口
  • 弹出窗口