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

关键字
24 Delete All Cookies
说明:

删除所有 cookies。

25 Delete Cookie
参数:

name

说明:

删除与name参数匹配的cookie。

如果未找到Cookie,则不会发生任何事情。

26 Double Click Element
参数:

locator

说明:

双击定位器标识的元素。

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

27 Drag And Drop
参数:

locator
target

说明:

将定位器标识的元素拖到target标识的元素中。

locator参数是拖动元素的定位符,而target是目标的定位符。有关定位器语法的详细信息,请参见“定位元素”部分。

例子:

Drag And Drop css:div#element css:div.target
28 Drag And Drop By Offset
参数:

locator
xoffset
yoffset

说明:

用xoffset / yoffset拖动由定位器标识的元素。

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

元素将通过xoffset和yoffset移动,每个xoffset和yoffset是指定偏移量的负数或正数。

例子:

Drag And Drop By Offset myElem 50 -35 # Move myElem 50px right and 35px down
29 Element Attribute Value Should Be
参数:

locator
attribute
expected
message=None

说明:

验证由定位器标识的元素是否包含预期的属性值。

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

Example: Element Attribute Value Should Be | css:img | href | value

注意:

SeleniumLibrary 3.2中的新功能。

30 Element Should Be Disabled
参数:

locator

说明:

验证是否禁用了由定位器标识的元素。

也可验证只读元素禁用。

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

31 Element Should Be Enabled
参数:

locator

说明:

验证是否启用了由定位器标识的元素。

也可验证只读元素启用。

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

32 Element Should Be Focused
参数:

locator

说明:

验证定位器标识的元素是否获得了焦点。

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

SeleniumLibrary 3.0中的新功能。

33 Element Should Be Visible
参数:

locator
message=None

说明:

验证由定位器标识的元素是否可见。

在此,可见是指元素在逻辑上是可见的,而在当前浏览器窗口中不是光学可见的。例如,一个带有display:none的元素在逻辑上是不可见的,因此在该元素上使用此关键字将失败。

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

message参数可用于覆盖默认错误消息。

34 Element Should Contain
参数:

locator
expected
message=None
ignore_case=False

说明:

验证元素定位符是否包含预期的文本。

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

message参数可用于覆盖默认错误消息。

可以将ignore_case参数设置为True以比较不区分大小写的字符,默认值为False。

SeleniumLibrary 3.1的新功能。

ignore_case参数是SeleniumLibrary 3.1中的新增功能。

如果要匹配确切的文本而不是子字符串,请使用Element Text Should Be。

35 Element Should Not Be Visible
参数:

locator
message=None

说明:

验证定位器标识的元素不可见。

如果元素不存在,则通过。有关可见性和支持的参数的更多信息,请参见Element Should Be Visible。

36 Element Should Not Contain
参数:

locator
expected
message=None
ignore_case=False

说明:

验证元素定位符是否不包含预期的文本。

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

message参数可用于覆盖默认错误消息。

可以将ignore_case参数设置为True以比较不区分大小写的字符,默认值为False。

SeleniumLibrary 3.1中新增的ignore_case参数。

37 Element Text Should Be
参数:

locator
expected
message=None
ignore_case=False

说明:

验证元素定位符是否包含所需的确切文本。

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

message参数可用于覆盖默认错误消息。

可以将ignore_case参数设置为True以比较不区分大小写的字符,默认值为False。

ignore_case参数是SeleniumLibrary 3.1中的新增功能。

如果需要子字符串匹配,则使用 Element Should Contain。

38 Element Text Should Not Be
参数:

locator
not_expected
message=None
ignore_case=False

说明:

验证元素定位符是否不包含确切的文本not_expected。

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

message参数可用于覆盖默认错误消息。

可以将ignore_case参数设置为True以比较不区分大小写的字符,默认值为False。

SeleniumLibrary 3.1.1中的新功能

39 Execute Async Javascript
参数:

*code

说明:

使用可能的参数执行异步JavaScript代码。

与执行Java脚本类似,不同之处在于使用此关键字执行的脚本必须通过调用提供的回调来显式表示已完成脚本。此回调始终作为最后一个参数注入执行的函数中。

脚本必须在脚本超时内完成,否则此关键字将失败。有关更多信息,请参见“超时”部分。

从SeleniumLibrary 3.2开始,可以提供JavaScript参数作为代码参数的一部分。有关更多详细信息,请参见 Execute Javascript。

例子:

Execute Async JavaScript var callback = arguments[arguments.length - 1]; window.setTimeout(callback, 2000);
Execute Async JavaScript ${CURDIR}/async_js_to_execute.js
${result} = Execute Async JavaScript
… var callback = arguments[arguments.length - 1];
… function answer(){callback(“text”);};
… window.setTimeout(answer, 2000);
Should Be Equal ${result} text
40 Execute Javascript
参数:

*code

说明:

使用可能的参数执行给定的JavaScript代码。

代码可以在测试数据中划分为多个单元,并且代码可以包含多行代码和参数。在这种情况下,JavaScript代码部分被串联在一起而没有添加空格,并且可选参数与代码分开。

如果代码是现有文件的路径,则将从该文件中读取要执行的JavaScript。正斜杠在所有操作系统上都充当路径分隔符。

JavaScript在当前选定的框架或窗口的上下文中作为匿名函数的主体执行。使用窗口来引用应用程序的窗口,使用文档来引用当前框架或窗口的文档对象,例如document.getElementById(‘example’)。

此关键字返回执行的JavaScript代码返回的内容。返回值将转换为适当的Python类型。

从SeleniumLibrary 3.2开始,可以提供JavaScript参数作为代码参数的一部分。 JavaScript代码和参数必须用JAVASCRIPT和ARGUMENTS标记分开,并且必须与该格式完全一起使用。如果首先使用Javascript代码,则JAVASCRIPT标记是可选的。可以交换JAVASCRIPT和ARGUMENTS标记的顺序,但是如果ARGUMENTS是第一个标记,则必须使用JAVASCRIPT标记。在代码参数中,只允许一次使用JAVASCRIPT和ARGUMENTS标记。

例子:

Execute JavaScript window.myFunc(‘arg1’, ‘arg2’)
Execute JavaScript ${CURDIR}/js_to_execute.js
Execute JavaScript alert(arguments[0]); ARGUMENTS 123
Execute JavaScript ARGUMENTS 123 JAVASCRIPT alert(arguments[0]);
41 Frame Should Contain
参数:

locator
text
loglevel=TRACE

说明:

验证由定位器标识的框架是否包含文本。

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

有关loglevel参数的说明,请参见Page Should Contain 。



作者:马克社区何老师