SeleniumLibrary4.5.0 关键字详解(二)

SeleniumLibrary4.5.0 关键字详解(二)
库版本:4.5.0
库范围:全局
命名参数:受支持

简介

SeleniumLibrary是Robot Framework的Web测试库。

本文档说明了如何使用SeleniumLibrary提供的关键字。 有关安装,支持等信息,请参见 python3.9.0 + robotframework + selenium3 实例体验。

有关robotframework框架的更多信息,请参见 https://blog.csdn.net/mask5726/category_10537277.html。

SeleniumLibrary在内部使用Selenium WebDriver模块来控制Web浏览器。 有关常规Selenium的更多信息,请参见http://seleniumhq.org。

内容列表

1、元素定位
2、浏览器和窗口
3、超时,等待和延迟
4、运行故障功能
5、布尔参数
6、webDriver事件
7、线程支持
8、插件
9、引入
11、关键字

浏览器和窗口

当SeleniumLibrary谈论浏览器和窗口时,有不同的概念含义。本章将说明这些差异。

浏览器
调用Open Browser或Create WebDriver关键字时,它将使用Selenium WebDriver API创建新的Selenium WebDriver实例。用SeleniumLibrary术语,将创建一个新的浏览器。通过多次调用打开浏览器或创建WebDriver,可以同时启动多个独立的浏览器(Selenium Webdriver实例)。这些浏览器通常彼此独立,并且不会共享Cookie,会话或个人资料之类的数据。通常,当浏览器启动时,它会创建一个显示给用户的窗口。

窗口
窗口是浏览器的一部分,该浏览器加载网站并将其呈现给用户。站点的所有内容都是窗口的内容。 窗口是浏览器的子级。在SeleniumLibrary中,浏览器是WebDriver实例的同义词。一个浏览器可能有多个窗口。 Windows可以显示为选项卡,也可以显示为单独的窗口或具有不同位置和大小的弹出窗口。属于同一浏览器的窗口通常会共享会话详细信息,例如cookie。如果需要分开会话详细信息(例如,使用两个不同的用户登录),则必须创建两个浏览器(Selenium WebDriver实例)。可以通过被测试的应用程序或Execute Javascript关键字示例来打开新窗口:

Execute Javascript    window.open()    #打开一个位置为about:blank的新窗口
下面的示例打开多个浏览器和窗口,以演示如何使用不同的关键字与浏览器进行交互,以及如何将窗口附加到这些浏览器。

Structure:

BrowserA
           Window 1  (location=https://robotframework.org/)
           Window 2  (location=https://robocon.io/)
           Window 3  (location=https://github.com/robotframework/)

BrowserB
           Window 1  (location=https://github.com/)
Example:

Open Browser    https://robotframework.org    ${BROWSER}    alias=BrowserA    # 打开具有第一个窗口的BrowserA.
Execute Javascript    window.open()            # 在浏览器中打开第二个窗口.
Switch Window    locator=NEW            # 切换到BrowserA中的第二个窗口
Go To    https://robocon.io            # 第二个窗口导航到robocon网站.
Execute Javascript    window.open()            #在浏览器中打开第三个窗口.
KaTeX parse error: Expected 'EOF', got '#' at position 49: …tor=NEW        #̲ 切换到BrowserA中的第…{BROWSER}    alias=BrowserB    # 打开带有第一个窗口的BrowserB.
KaTeX parse error: Expected 'EOF', got '#' at position 39: …ion            #̲ {location}获取位置是:https://www.github.com
Switch Window    ${handle}    browser=BrowserA        # BrowserA选择了第二个窗口.
KaTeX parse error: Expected 'EOF', got '#' at position 39: …ion            #̲ {location}获取位置是: https://robocon.io/
@{locations 1}    Get Locations            # 默认情况下,列出当前活动浏览器(BrowserA)下的位置.
@{locations 2}    Get Locations    browser=ALL        # 通过使用browser = ALL参数关键字列出所有浏览器中的所有位置.
上面的示例@ {locations 1}包含以下窗口:https://robotframework.org/,https://robocon.io/和https://github.com/robotframework/’。

@ {locations 2}包含以下窗口:https://robotframework.org/、https://robocon.io/、https://github.com/robotframework/'和’https://github.com/



作者:马克社区何老师