RobotFramework学习04-扩展库之 Selenium
2018-09-14 本文已影响84人
残阳夕露

本文包含内容:
- 浏览器驱动
- 关闭浏览器
- 浏览器最大化
- 获取/设置浏览器窗口宽、高
- 文本输入
- 点击元素
- 点击按钮
- 等待元素出现
- 获取title
- 获取text
- 获取元素属性值
- cookie处理
- 验证
- 表单嵌套
- 下拉框选择
- 执行执行 JavaScript
SeleniumLibrary库
- SeleniumLibrary安装参考:RobotFramework学习01-基本配置及初步使用
- 使用(导入)
*** Settings ***
Library SeleniumLibrary
1. 浏览器驱动
- 浏览器对应的关键字
- 要想通过不同的浏览打开 URL 地址,一定要安装浏览器相对应的驱动。
- 如果不设置浏览器,默认打开 Firefox.
# 格式
Open Browser 网址 浏览器
# 实例
百度搜索
Open Browser http://www.baidu.com chrome
关键字 | 浏览器/设备 |
---|---|
firefox | FireFox |
ff | FireFox |
internetexplorer | Internet Explorer |
ie | Internet Explorer |
googlechrome | Google Chrome |
gc | Google Chrome |
chrome | Google Chrome |
opera | Opera |
phantomjs | PhantomJS |
htmlunit | HTMLUnit |
htmlunitwithjs | HTMLUnit with Javascipt support |
android | Android |
iphone | Iphone |
safari | Safari |
edge | Edge |
2. 关闭浏览器
- close browser 关闭当前的浏览器。
- close all browsers 关键所有打开的浏览器和缓存重置。
Close Browsers
Close All Browsers
3. 浏览器最大化
- Maximize Browser Window 关键字使当前打开的浏览器全屏。
Maximize Browser Window
4. 获取/设置浏览器窗口宽、高
-
get window size
关键字获取打开浏览器的宽度和高度,以像素为单位。
百度搜索
Open Browser http://www.baidu.com chrome
${width} ${height} get window size
log to console ${width}
log to console ${height}

-
set window size
关键字用于设置打开浏览器的宽度和高度。以像素为单位,第一个参数 800 表示宽度,第二个参数 600 表示高度。
百度搜索
Open Browser http://www.baidu.com chrome
set Window Size 800 600
5. 文本输入
-
input text
关键字用于向文本框内输入内容。 xpath=//* [@] :表示元素定位,定位文本输入框。 aa 表示要输入的内容
Input Text xpath=//*[@] aa
6. 点击元素
-
Click Element
关键字用于点击页面上的元素,单击任何可以点击按钮、文字/图片连接、复选框、单选框、甚至是下拉框等。 xpath=//* [@] :表示元素定位,定位点击的元素。
Click Element xpath=//*[@]
7. 点击按钮
-
Click Button
关键字用于点击页面上的按钮。 Xpath=//* [@] :表示元素定位,定位点击的按钮。
Click Button Xpath=//*[@]
8. 等待元素出现
-
Wait Until Page Contains Element
关键字用于等待页面上的元素显示出来;Xpath=//* [@] :表示元素定位,这里定位出现的元素;42 : 表示最长等待时间;Error : 表示错误提示,自定义错误提示,如:“元素不能正常显示”
Wait Until Page Contains Element Xpath=//*[@] 42 error
百度搜索松勤
Open Browser http://www.baidu.com chrome
Wait Until Page Contains Element xpath=//*[@id=1]//*[@class='op-beijingtime-date'] 5 找不到元素

9. 获取 title
-
get title
关键字用于获得当前浏览器窗口的 title 信息。
这里只获取 title 是没有意义的,我们通常会将获取的 title 传递给一个变量,然后与预期结果进行比较。从而判断当前脚本执行成功。
*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
test case4
Open Browser https://www.jianshu.com/u/07e55a71f5dd chrome
Set Selenium Implicit Wait 5
sleep 3
${title}= get title
log to console ${title}
close browser

10. 获取 text
- get text 关键字用于获取元素的文本信息。 xpath=//* [@] : 定位文本信息的元素。
Get Text xpath=//*[@]
11. 获取元素属性值
- id=kw@name:id=kw 表示定位的元素。@name 获取这个元素的 name 属性值。
*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
test case 5
Open Browser http://www.baidu.com chrome
Set Selenium Implicit Wait 5
${name}= Get Element Attribute id=kw@name
log to console ${name}
close browser

12. cookie 处理
-
get cookies
获得当前浏览器的所有 cookie 。 -
get cookie value
获得 cookie 值。key_name 表示一对 cookie 中 key 的 name 。 -
add cookie
添加 cookie。添加一对 cookie (key:value) -
delete cookie
删除 cookie。删除 key 为 name 的 cookie 信息。 -
delete all cookies
删除当前浏览器的所有 cookies。
get cookies
get cookie value Key_name
add cookie Key_name Value_name
delete cookie Key_name
delete all cookies
13. 验证
-
should contain
验证信息是否正确
*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
test case 5
open browser https://www.jianshu.com/u/07e55a71f5dd chrome # 通过chrome浏览器打开网址...
${title} Get Title # 获取title并赋值给变量${title}
should contain ${title} 残阳夕露 - 简书 # 比较
close browser # 关闭浏览器
14. 表单嵌套
有时候和页面中会出现表单嵌套,这个时候需要进入到表单才能操作相关元素。
- Select Frame 进入表单,Xpath=//* [@] 表示定位要进入的表单。 Unselect Frame 退出表单。
Select Frame Xpath=//* [@]
Unselect Frame
15. 下拉框选择
Unselect From List By Value 关键字用于选择下拉框。 Xpath=//* [@] 定位下拉框; Vlaue 选择下拉框里的属性值。
Unselect From List By Value Xpath=//* [@] vlaue
16. 执行 JavaScript
- 在一些特殊的情况下需要调用 JavaScript 代码,Execute Javascript 关键字用于使用 JavaScript 代码
Execute Javascript $("#tooltip").fadeOut();