【问题标题】:How to open a new browser tab or window and perform operations on that newly opened page using Robot Framework?如何使用 Robot Framework 打开新的浏览器选项卡或窗口并在新打开的页面上执行操作?
【发布时间】:2020-01-23 22:16:47
【问题描述】:

我正在尝试做一个简单的机器人测试来演示使用机器人框架打开多个选项卡或浏览器窗口。在让这个简单的示例运行后,我可以使用此代码在更长的测试中打开多个选项卡或窗口。

这个想法是这样的: 浏览器打开到 www.google.com,Text1 被输入到谷歌搜索栏。 然后另一个选项卡(或窗口)打开到 google.com 以及在这个简单的例子中作为第二页,Text2 被输入而不是作为文本。打开谷歌页面的第二个实例目前可以工作,但问题是 Text2 被输入到原始页面的搜索栏中,而不是在新打开的搜索栏中。我认为选项卡或窗口都是以后使用的好选择,但现在的问题是在第二个页面成功打开后输入到原始页面。我认为应该以某种方式选择新窗口或标签,并且不确定 JavaScript 是否是打开第二个窗口的正确方法,就像我在这里所做的那样?

我当前的机器人代码:

Library           Selenium2Library

*** Test Cases ***
multipletabstest
    Open Browser    http://www.google.com    Chrome
    Input Text      xpath://input[@name="q"]    Text
    Comment         Open second google-tab
    Execute Javascript    window.open('https://www.google.com');
    Input Text      xpath://input[@name="q"]    Text2

【问题讨论】:

标签: robotframework


【解决方案1】:

我想我昨天实际上尝试调用 Open browser,但不知何故并没有像预期的那样使用该文本输入行为。现在我再次测试了它(用 Open Browser 替换 JavaScript 行),非常感谢!在这里登录之前,我提出了另一个解决方案。该代码更长,但我认为我目前更喜欢如何使用 Chrome 打开新标签(尽管例如 window.open() 的代码是指 Windows)到浏览器的顶部。使用 Firefox,这似乎作为新窗口打开。两者都对我有用,但主要想法是能够打开同一页面的多个实例,我认为可能有很多解决方案。这可能有点过分评论,但 cmets 在这里只是为了澄清这个解决方案的作用。我在 SeleniumLibrary 文档页面上找到了这个基础。每个窗口使用不同的网站,但我用多个谷歌页面对此进行了测试。

*** Settings ***
Library           Selenium2Library

*** Test Cases ***
multipletabstest
    Comment         Open first google window
    Open Browser    https://www.google.com      Chrome
    Input Text      xpath://input[@name="q"]    Text to first window
    Comment         Open second window
    Execute Javascript    window.open('https://www.google.com')
    Comment         Change to new window
    Switch Window   locator=NEW      
    Comment         Input text to second window
    Input Text      xpath://input[@name="q"]    Text to second window
    Comment         Open third window
    Execute Javascript    window.open('https://www.google.com')
    Comment         Change to new window
    Switch Window   locator=NEW
    Comment         Input text to third window
    Input Text      xpath://input[@name="q"]    Text to third window

【讨论】:

    猜你喜欢
    • 2013-06-18
    • 2018-08-29
    • 2020-06-07
    • 1970-01-01
    • 2016-07-19
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多