机器人框架 - Selenium2Library - Chrome&边缘打开新选项卡而不是窗口

时间:2016-11-23 16:41:27

标签: selenium testing selenium-webdriver automated-tests robotframework

对不起,如果这是一个平凡的问题。

我的问题是,用户可以点击“帮助”按钮,默认情况下会在新标签页的帮助页面中打开。

在Firefox中触发测试时,会创建一个新窗口。这很棒,因为我可以使用Select Window关键字并为其指定URL。但是,使用Chrome和Edge,它只是制作了一个新标签。

我读到Tabs不受支持 - 但奇怪的是,Edge上的测试通过正常,只是Chrome有问题。这背后有原因吗?

有没有办法强制它成为一个窗口,而不是一个标签?还是什么?

我读到我可以输入CTRL + Tab的键盘快捷键。但这感觉真的很脏,并且更喜欢更好的方式。

错误:

ValueError:无法找到包含网址'http:// ...

的窗口

修改

好的 - 所以我没有使用URL参数,而是尝试了标题。只是一时兴起。它工作(?)我不知道它是如何工作的,为什么使用URL didnt和标题呢:这是我使用的行:

Run Keyword If    '${Browser}' == 'Chrome'
    ...    Select Window    1.7.1 User Guide
    ...    ELSE
    ...    Select Window    1.7.1 User Guide - Welcome to the User Guide

尽管如此,“获取”并没有产生到新创建的标签/窗口的链接:/ - 非常感谢shicky和Helio!

1 个答案:

答案 0 :(得分:1)

标签的处理方式与Windows大致相同吗?你应该能够通过使用以下方法之一来识别屏幕上的内容:@Helio:

Get Window Identifiers
Get Window Names

以下是一些可以帮助您入门的类似问题,如果您需要更多帮助,请在此处发布更详细的信息。

How to get the current URL in Robot framework?

How to make chrome display on the top opened in selenium [Mac OS X]