RobotFramework:最后索引时没有新窗口。请使用“@{ex}=|列出窗口”+新建>窗口触发器+”选择窗口${ex}来查找它

RobotFramework:最后索引时没有新窗口。请使用“@{ex}=|列出窗口”+新建>窗口触发器+”选择窗口${ex}来查找它,robotframework,Robotframework,我的要求是,在windowparent窗口中点击一个按钮,它必须打开一个新的windowpopup窗口,子窗口,我为此编写了一个测试用例 但问题是,当单击父窗口上的按钮时,我的脚本失败,并在报告/日志中显示为: 最后索引时没有新窗口。请使用“@{ex}=|列出窗口”+新建 窗口触发器+'选择窗口${ex}'以查找它 下面是我的testcase中使用的一个userdefined关键字,它在Robot框架中失败: Move To Chat Page Click Button

我的要求是,在windowparent窗口中点击一个按钮,它必须打开一个新的windowpopup窗口,子窗口,我为此编写了一个测试用例

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

最后索引时没有新窗口。请使用“@{ex}=|列出窗口”+新建 窗口触发器+'选择窗口${ex}'以查找它

下面是我的testcase中使用的一个userdefined关键字,它在Robot框架中失败:

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
下面是相同的屏幕截图:


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

index.html

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

主窗口 弹出窗口
使用windows时,最好使用唯一的Id、名称、标题或弹出窗口的URL。在下面的例子中,我有一个简单的索引页面,它创建了一个弹出窗口

index.html

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

主窗口 弹出窗口
我修改了您的脚本以使用internet explorer而不是chrome,并使用本地文件而不是http。如下所示:选择窗口url=file:///C://Users//ABC//Documents//Dummy//popup.html 但获取错误为NoSuchWindowException:Message:No window Found上述示例在指定Ie而不是Chrome时也有效。您是否可以使用Web服务器上的页面重新测试?使用本地文件和javascript总是会带来困难。在包含文件的目录中,可以使用以下命令python-msimplehttpserver 8090从文件夹创建Web服务器。SimpleHTTPServer模块是默认Python安装的一部分。报告了针对我的主要问题的任何解决方案。如果上述解决方案不适用于您,请告诉我您遇到了什么问题,我将更新答案。我修改了您的脚本以使用internet explorer而不是chrome,并使用了本地文件而不是http。如下所示:选择窗口url=file:///C://Users//ABC//Documents//Dummy//popup.html 但获取错误为NoSuchWindowException:Message:No window Found上述示例在指定Ie而不是Chrome时也有效。您是否可以使用Web服务器上的页面重新测试?使用本地文件和javascript总是会带来困难。在包含文件的目录中,可以使用以下命令python-msimplehttpserver 8090从文件夹创建Web服务器。SimpleHTTPServer模块是默认Python安装的一部分。我报告了我的主要问题的任何解决方案。如果上述解决方案不适用于您,请告诉我您有什么问题,我将更新答案。
<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>
<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