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、关键字
关键字
6 Capture Element Screenshot
参数:
locator
filename=selenium-element-screenshot-{index}.png
说明:
从定位器标识的元素捕获屏幕截图,并将其嵌入到日志文件中。
有关文件名参数的详细信息,请参见捕获页面屏幕截图。有关定位器语法的详细信息,请参见“定位元素”部分。
返回创建的元素屏幕快照的绝对路径。
从元素捕获屏幕截图的支持在浏览器供应商中受到的支持有限。请检查浏览器供应商驱动程序文档,该浏览器是否支持捕获来自元素的屏幕截图。
SeleniumLibrary 3.3中的新功能。 SeleniumLibrary 4.2中新增了对EMBED的支持。
EMBED:
Embed 对象是 HTML5 中的新对象。
Embed 对象表示 HTML 元素。
您可以通过使用 getElementById() 来访问 元素:
var x = document.getElementById(“myEmbed”);
您可以通过使用 document.createElement() 方法来创建 元素:
var x = document.createElement(“EMBED”);
例子:
Capture Element Screenshot id:image_id
Capture Element Screenshot id:image_id ${OUTPUTDIR}/id_image_id-1.png
Capture Element Screenshot id:image_id EMBED
7 Capture Page Screenshot
参数:
filename=selenium-screenshot-{index}.png
说明:
截取当前页面的屏幕截图并将其嵌入到日志文件中。
filename参数指定将屏幕快照写入其中的文件的名称。可以在导入库时或使用“设置屏幕快照目录”关键字来设置保存屏幕快照的目录。如果未配置目录,则屏幕截图将保存到写入Robot Framework日志文件的目录中。
如果文件名等于EMBED(不区分大小写),则屏幕截图将作为Base64图像嵌入到log.html中。在这种情况下,不会在文件系统中创建文件。
从SeleniumLibrary 1.8开始,如果文件名包含标记{index},它将自动替换为唯一的运行索引,以防止文件被覆盖。索引从1开始,可以使用Python的格式字符串语法自定义它们的表示方式。
返回创建的屏幕快照文件的绝对路径,或者如果文件名等于EMBED,则返回单词EMBED。
SeleniumLibrary 4.2中新增了对EMBED的支持。
例子:
Capture Page Screenshot
File Should Exist ${OUTPUTDIR}/selenium-screenshot-1.png
${path} = Capture Page Screenshot
File Should Exist ${OUTPUTDIR}/selenium-screenshot-2.png
File Should Exist ${path}
Capture Page Screenshot custom_name.png
File Should Exist ${OUTPUTDIR}/custom_name.png
Capture Page Screenshot custom_with_index_{index}.png
File Should Exist ${OUTPUTDIR}/custom_with_index_1.png
Capture Page Screenshot formatted_index_{index:03}.png
File Should Exist ${OUTPUTDIR}/formatted_index_001.png
Capture Page Screenshot EMBED
File Should Not Exist EMBED
8 Checkbox Should Be Selected
参数:
locator
说明:
验证未选中/选中复选框定位符。
有关定位器语法的详细信息,请参见“定位元素”部分。
9 Checkbox Should Not Be Selected
参数:
locator
说明:
验证未选中/选中复选框定位符。
有关定位器语法的详细信息,请参见“定位元素”部分。
10 Choose File
参数:
locator
file_path
说明:
将file_path输入到文件输入字段定位器中。
此关键字最常用于将文件输入到上传表单中。关键字不检查file_path是执行测试的机器上可用的文件或文件夹。如果file_path指向文件,并且在使用Selenium Grid时,Selenium会神奇地将文件从执行测试的计算机传输到运行浏览器的Selenium Grid节点。然后,Selenium将把来自节点文件系统的文件路径发送到浏览器。
不检查file_path,是SeleniumLibrary 4.0中的新功能。
例子:
Choose File my_upload_field ${CURDIR}/trades.csv
11 Clear Element Text
参数:
locator
说明:
清除定位器标识的文本输入元素的值。
有关定位器语法的详细信息,请参见“定位元素”部分。
12 Click Button
参数:
locator
modifier=False
说明:
单击定位器标识的按钮。
有关定位器语法的详细信息,请参见“定位元素”部分。使用默认定位器策略时,将使用id,名称和值搜索按钮。
有关修饰符参数的详细信息,请参见Click Element关键字。
modifier参数在SeleniumLibrary 3.3中是新的。
13 Click Element
参数:
locator
modifier=False
action_chain=False
说明:
单击定位器标识的元素。
有关定位器语法的详细信息,请参见“定位元素”部分。
单击元素时,修饰符参数可用于传递Selenium键。 +可用作不同selenium键的分隔符。 CTRL在内部转换为CONTROL键。修饰符是空格,不区分大小写,例如ALT键支持格式“ alt”和“ aLt”。如果修饰符与Selenium Keys不匹配,则关键字失败。
如果action_chain参数为true,请参阅布尔参数以获取有关如何设置布尔参数的更多详细信息,然后关键字使用基于ActionChain的click代替<web_element> .click()函数。如果同时定义了action_chain和修饰符,则将使用修饰符执行单击,而action_chain将被忽略。
例子:
Click Element id:button # Would click element without any modifiers.
Click Element id:button CTRL # Would click element with CTLR key pressed down.
Click Element id:button CTRL+ALT # Would click element with CTLR and ALT keys pressed down.
Click Element id:button action_chain=True # Clicks the button using an Selenium ActionChains
SeleniumLibrary 3.2中的modifier参数是新的,SeleniumLibrary 4.1中的action_chain参数是新的。
14 Click Element At Coordinates
参数:
locator
xoffset
yoffset
说明:
单击xoffset / yoffset处的元素定位器。
移动光标,并从该点开始计算元素的中心和x / y坐标。
有关定位器语法的详细信息,请参见“定位元素”部分。
15 Click Image
参数:
locator
modifier=False
说明:
单击定位器识别的图像。
有关定位器语法的详细信息,请参见“定位元素”部分。使用默认定位器策略时,将使用id,name,src和alt搜索图像。
有关修饰符参数的详细信息,请参见Click Element关键字。
修改器参数在SeleniumLibrary 3.3中是新的。
16 Click Link
参数:
locator
modifier=False
说明:
单击定位器标识的链接。
有关定位器语法的详细信息,请参见“定位元素”部分。使用默认定位器策略时,将使用id,名称,href和链接文本搜索链接。
有关修饰符参数的详细信息,请参见Click Element关键字。
修改器参数在SeleniumLibrary 3.3中是新的。
17 Close All Browsers
说明:
关闭所有打开的浏览器并重置浏览器缓存。
使用此关键字之后,将从“打开浏览器”关键字返回的新索引重置为1。
此关键字应在测试或套件拆卸中使用,以确保关闭所有浏览器。
18 Close Browser
说明:
关闭当前的浏览器。
19 Close Window
说明:
关闭当前打开并选择的浏览器窗口/选项卡。
20 Cover Element
参数:
locator
说明:
将使用蓝色div覆盖定位器标识的元素,而不会破坏页面布局。
有关定位器语法的详细信息,请参见“定位元素”部分。
SeleniumLibrary 3.3.0的新功能。
例子: |Cover Element | css:div#container |
21 Create Webdriver
参数:
driver_name
alias=None
kwargs={}
**init_kwargs
说明:
创建Selenium WebDriver的实例。
与Open Browser类似,但是允许将参数直接传递给创建的WebDriver实例。仅当Open Browser提供的功能不足时,才应使用此关键字。
driver_name必须是WebDriver实现名称,例如Firefox,Chrome,IE,Opera,Safari,PhantomJS或Remote。
可以使用Python字典kwargs或使用关键字参数** init_kwargs来配置已初始化的WebDriver。这些参数无需任何处理即可直接传递给WebDriver。有关受支持参数的详细信息,请参见Selenium API文档。
例子:
Use proxy with Firefox
${proxy}= Evaluate selenium.webdriver.Proxy() modules=selenium, selenium.webdriver
p
r
o
x
y
.
h
t
t
p
p
r
o
x
y
=
S
e
t
V
a
r
i
a
b
l
e
l
o
c
a
l
h
o
s
t
:
8888
C
r
e
a
t
e
W
e
b
d
r
i
v
e
r
F
i
r
e
f
o
x
p
r
o
x
y
=
{proxy.http_proxy}= Set Variable localhost:8888 Create Webdriver Firefox proxy=
proxy.httpproxy=SetVariablelocalhost:8888CreateWebdriverFirefoxproxy={proxy}
Use proxy with PhantomJS
s
e
r
v
i
c
e
a
r
g
s
=
C
r
e
a
t
e
L
i
s
t
−
−
p
r
o
x
y
=
192.168.132.104
:
8888
C
r
e
a
t
e
W
e
b
d
r
i
v
e
r
P
h
a
n
t
o
m
J
S
s
e
r
v
i
c
e
a
r
g
s
=
{service args}= Create List --proxy=192.168.132.104:8888 Create Webdriver PhantomJS service_args=
serviceargs=CreateList−−proxy=192.168.132.104:8888CreateWebdriverPhantomJSserviceargs={service args}
返回此浏览器实例的索引,以后可用于切换回该索引。索引从1开始,并在使用“关闭所有浏览器”关键字时重置为该索引。有关示例,请参见切换浏览器。
22 Current Frame Should Contain
参数:
text
loglevel=TRACE
说明:
验证当前框架是否包含文本。
有关loglevel参数的说明,请参见页面应包含。
在SeleniumLibrary 3.0之前,此关键字被命名为Current Frame Contains。
23 Current Frame Should Not Contain
参数:
text
loglevel=TRACE
说明:
验证当前框架不包含文本。
有关loglevel参数的说明,请参见Page Should Contain。
作者:马克社区何老师