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、关键字

关键字
119 Radio Button Should Be Set To
参数:

group_name
value

说明:

验证单选按钮组group_name是否设置为value。

group_name是单选按钮组的名称。

120 Radio Button Should Not Be Selected
参数:

group_name

说明:

验证单选按钮组group_name没有选择。

group_name是单选按钮组的名称。

121 Register Keyword To Run On Failure
参数:

keyword

说明:

设置关键字在SeleniumLibrary关键字失败时执行。

关键字是如果SeleniumLibrary关键字失败将执行的关键字的名称。可以使用任何可用的关键字,包括用户关键字或其他库中的关键字,但是关键字不能带有任何参数。

导入库时设置要使用的初始关键字,默认情况下使用的关键字是``捕获页面截图’’。失败时拍摄屏幕快照是非常有用的功能,但请注意,这可能会减慢执行速度。

可以不区分大小写地使用字符串Nothing或NONE以及Python None来完全禁用此功能。

此关键字返回先前注册的失败关键字的名称,如果先前禁用了此功能,则返回Python None。返回值可以始终用于以后恢复原始值。

例子:

Register Keyword To Run On Failure Log Source
${previous kw}= Register Keyword To Run On Failure NONE
Register Keyword To Run On Failure ${previous kw}
SeleniumLibrary 3.0中的更改::

可以使用字符串NONE或Python None禁用该功能。
较早禁用该功能时,不返回Python。在以前的版本中,没有返回特殊值No Keyword,并且不能将其用于恢复原始状态。
122 Reload Page
说明:

模拟用户重新加载页面。

123 Remove Location Strategy
参数:

strategy_name

说明:

删除以前添加的自定义位置策略。

有关如何创建和使用自定义策略的信息,请参见自定义定位器。

124 Scroll Element Into View
参数:

locator

说明:

将定位器标识的元素滚动到视图中。

有关定位器语法的详细信息,请参见``定位元素’'部分。

SeleniumLibrary 3.2.0中的新功能。

125 Select All From List
参数:

locator

说明:

从多选列表定位器中选择所有选项。

有关定位器语法的详细信息,请参见``定位元素’'部分。

126 Select Checkbox
参数:

locator

说明:

选择由定位器标识的复选框。

如果已选中复选框,则不执行任何操作。

有关定位器语法的详细信息,请参见``定位元素’'部分。

127 Select Frame
参数:

locator

说明:

将由定位器标识的框架设置为当前框架。

有关定位器语法的详细信息,请参见``定位元素’'部分。

适用于框架和iframe。使用``取消选择框架’'来取消框架选择并返回到主框架。

例子:

Select Frame top-frame # Select frame with id or name ‘top-frame’
Click Link example # Click link ‘example’ in the selected frame
Unselect Frame # Back to main frame.
Select Frame //iframe[@name=‘xxx’] # Select frame using xpath
128 Select From List By Index
参数:

locator
*indexes

说明:

通过索引从选择列表定位器中选择选项。

列表选项的索引从0开始。

如果为单选列表提供了多个选项,则将选择最后一个值。对于多选列表,将选择所有指定的选项,但不会清除可能的旧选择。

有关定位器语法的详细信息,请参见``定位元素’'部分。

129 Select From List By Label
参数:

locator
*labels

说明:

通过标签从选择列表定位器中选择选项。

如果为单选列表提供了多个选项,则将选择最后一个值。对于多选列表,将选择所有指定的选项,但不会清除可能的旧选择。

有关定位器语法的详细信息,请参见``定位元素’'部分。

130 Select From List By Value
参数:

locator
*values

说明:

通过值从选择列表定位器中选择选项。

如果为单选列表提供了多个选项,则将选择最后一个值。对于多选列表,将选择所有指定的选项,但不会清除可能的旧选择。

有关定位器语法的详细信息,请参见``定位元素’'部分。

131 Select Radio Button
参数:

group_name
value

说明:

将单选按钮组group_name设置为value。

要选择的单选按钮位于两个参数中:

group_name是单选按钮组的名称。
值是实际单选按钮的ID或值属性。

例子:

Select Radio Button size XL
Select Radio Button contact email
132 Select Window
参数:

locator=MAIN
timeout=None

说明:

SeleniumLibrary 4.0中已弃用。是使用``Switch Window’’。

133 Set Browser Implicit Wait
参数:

value

说明:

设置Selenium使用的隐式等待值。

与设置Selenium隐式等待相同,但仅影响当前浏览器。

134 Set Focus To Element
参数:

locator

说明:

将焦点设置为定位器标识的元素。

有关定位器语法的详细信息,请参见``定位元素’'部分。

在SeleniumLibrary 3.0之前,此关键字被命名为``Focus’’。

135 Set Screenshot Directory
参数:

path

说明:

设置捕获的屏幕快照的目录。

path参数指定屏幕快照应写入的目录的绝对路径。如果目录不存在,将创建该目录。导入库时也可以设置目录。如果未在任何地方进行配置,则屏幕快照将保存到写入Robot Framework日志文件的目录中。

如果等于EMBED的路径(不区分大小写)和捕获页面截图''或捕获元素截图’'关键字filename参数没有从默认值更改,则页面或元素截图作为Base64图像嵌入到log.html中。

返回先前的值,并且可以在以后根据需要将其恢复为原始值。

返回以前的值是SeleniumLibrary 3.0中的新增功能。 SeleniumLibrary 3.2中的persistent参数已删除,而SeleniumLibrary 4.2中的EMBED是新的。

136 Set Selenium Implicit Wait
参数:

value

说明:

设置Selenium使用的隐式等待值。

该值可以以被认为是秒的数字或人类可读的字符串(如1秒)的形式给出。返回先前的值,并且可以在以后根据需要将其恢复为原始值。

此关键字设置所有打开的浏览器的隐式等待。使用``Set Browser Implicit Wait’'将其仅设置为当前浏览器。

有关更多信息,请参见上面的“Implicit wait”部分。

例子:

${orig wait} = Set Selenium Implicit Wait 10 seconds
Perform AJAX call that is slow
Set Selenium Implicit Wait ${orig wait}
137 Set Selenium Speed
参数:

value

说明:

设置每个Selenium命令后等待的延迟。

该值可以以被认为是秒的数字或人类可读的字符串(如1秒)的形式给出。返回先前的值,并且可以在以后根据需要将其恢复为原始值。

有关更多信息,请参见上面的“Selenium Speed”部分。

例子:

Set Selenium Speed 0.5 seconds
138 Set Selenium Timeout
参数:

value

说明:

设置各种关键字使用的超时。

该值可以以被认为是秒的数字或人类可读的字符串(如1秒)的形式给出。返回先前的值,并且可以在以后根据需要将其恢复为原始值。

有关更多信息,请参见上面的Timeout部分。

例子:

${orig timeout} = Set Selenium Timeout 15 seconds
Open page that loads slowly
Set Selenium Timeout ${orig timeout}
139 Set Window Position
参数:

x
y

说明:

使用x和y坐标设置窗口位置。

该位置相对于屏幕的左上角,但是某些浏览器从计算中排除了操作系统设置的可能的任务栏。因此,实际位置在不同的浏览器中可能会有所不同。

可以使用包含数字的字符串或使用实际数字来指定值。另请参阅 Get Window Position。

例子:

Set Window Position 100 200
140 Set Window Size
参数:

width
height
inner=False

说明:

将当前窗口大小设置为给定的宽度和高度。

可以使用包含数字的字符串或使用实际数字来指定值。另请参阅Get Window Size。

浏览器的最小大小有限制。尝试将它们设置为较小会导致实际大小大于请求的大小。

如果将内部参数设置为True,则关键字将必要的窗口宽度和高度设置为具有所需的HTML DOM window.innerWidth和window.innerHeight。有关如何设置布尔参数的更多详细信息,请参见布尔参数。

自SeleniumLibrary 4.0起,内部参数是新的。

此内部参数不支持框架。如果选择了框架,请在运行前切换为默认框架。

例子:

Set Window Size 800 600
Set Window Size 800 600 True
141 Simulate Event
参数:

locator
event

说明:

在定位器识别的元素上模拟事件。

如果元素具有需要显式调用的OnEvent处理程序,则此关键字很有用。

有关定位器语法的详细信息,请参见``定位元素’'部分。

在SeleniumLibrary 3.0之前,此关键字被命名为Simulate。

142 Submit Form
参数:

locator=None

说明:

提交由定位器标识的表单。

如果未提供定位符,则提交页面上的第一份表格。

有关定位器语法的详细信息,请参见``定位元素’'部分。

143 Switch Browser
参数:

index_or_alias

说明:

使用index_or_alias在活动的浏览器之间切换。

索引由Open Browser关键字返回,并且可以显式为其指定别名。索引从1开始。

例子:

Open Browser http://google.com ff
Location Should Be http://google.com
Open Browser http://yahoo.com ie alias=second
Location Should Be http://yahoo.com
Switch Browser 1 # index
Page Should Contain I’m feeling lucky
Switch Browser second # alias
Page Should Contain More Yahoo!
Close All Browsers
上面的示例期望打开第一个浏览器时没有其他打开的浏览器,因为稍后切换到索引时使用了索引1。如果不确定,可以将索引存储到如下变量中:

${index} = Open Browser http://google.com

Do something …

Switch Browser ${index}
144 Switch Window
参数:

locator=MAIN
timeout=None
browser=CURRENT

说明:

切换到浏览器窗口匹配定位器。

如果找到该窗口,则所有后续命令都将使用选定的窗口,直到再次使用此关键字。如果找不到该窗口,则此关键字失败。返回先前的Windows句柄,以后可用于切换回它。

请注意,应使用Handle Alert或其他与警报相关的关键字来处理警报。

可以使用不同的策略来指定定位器,这与在页面上定位元素时有些相似。

默认情况下,定位器与窗口句柄,名称,标题和URL相匹配。匹配以该顺序完成,并且选择了第一个匹配窗口。
定位器可以使用格式strategy:value(推荐)或strategy = value来指定一个明确的策略。支持的策略是名称,标题和URL。这些匹配窗口分别使用其名称,标题或URL。此外,可以使用default来显式使用上述默认策略。
如果定位符是NEW(不区分大小写),则选择最近打开的窗口。如果这与当前窗口相同,则为错误。
如果定位器为MAIN(默认,不区分大小写),则选择主窗口。
如果定位符为CURRENT(不区分大小写),则不执行任何操作。这实际上只是返回当前的窗口句柄。
如果定位符不是字符串,则应该是要排除的窗口句柄列表。这样的排除窗口列表可以在执行打开新窗口的操作之前从“Get Window Handles”中获取。
超时用于指定关键字轮询多长时间以选择新窗口。 SeleniumLibrary 3.2中新增了超时功能。

例子:

Click Link popup1 # Open new window
Switch Window example # Select window using default strategy
Title Should Be Pop-up 1
Click Button popup2 # Open another window
${handle} = Switch Window NEW # Select latest opened window
Title Should Be Pop-up 2
Switch Window ${handle} # Select window using handle
Title Should Be Pop-up 1
Switch Window MAIN # Select the main window
Title Should Be Main
${excludes} = Get Window Handles # Get list of current windows
Click Link popup3 # Open one more window
Switch Window ${excludes} # Select window using excludes
Title Should Be Pop-up 3
浏览器参数允许使用index_or_alias在切换到窗口时隐式切换到特定的浏览器。请参阅切换浏览器

如果浏览器为CURRENT(不区分大小写),则不会选择其他浏览器。

注意:

SeleniumLibrary 3.0及更高版本仅支持strategy:value语法。
在SeleniumLibrary 3.0之前,通过名称,标题和URL匹配的窗口不区分大小写。
较早的版本支持别名None,null和用于选择主窗口的空字符串,以及别名self用于选择当前窗口。 SeleniumLibrary 3.2中删除了对这些别名的支持。



作者:马克社区何老师