Robot Framework常用关键字
Selenium2Library常用关键字
Open Browser 打开浏览器
Open Browser | http://www.baidu.com | gc |
打开浏览器对应的关键字
firefox FireFox ff FireFox internetexplorer Internet Explorer ie Internet Explorer googlechrome Google Chrome gc Google Chrome chrome Google Chrome
Open Browser打开本地html页面
Open Browser | file:///D:/robot/data/select_demo.html | gc |
备注:
要想通过不同的浏览打开URL 地址,一定要安装浏览器相对应的驱动。
chrome 的驱动为: chromedriver.exe 。
IE 的驱动为: IEDriverServer.exe
浏览器默认为空时启动 FireFox
关闭浏览器
Close All Browser | 关键所有打开的浏览器和缓存重置 |
Close Browser | 关闭当前的浏览器 |
浏览器窗口设置
set windows size
:用于设置打开浏览器的宽度和高度。以像素为单位,第一个参数800表示宽度,第二个参数900表示高度。
get windows size
用于获取当前浏览器的宽度和高度。
Open Browser | http://www.baidu.com | gc |
Maximize Browser Window | # 全屏查看浏览器 | |
Set Windows Size | 800 | 900 |
$ | $ | Get Windows Size |
log | $ | |
log | $ |
文本输入
input text 表示关键字用于向文本框内输入内容。
id=kw 表示元素定位,定位文本输入框
robot framework 表示输入框输入的内容
Open Browser | http://www.baidu.com | gc |
input text | id=kw | robot framework |
Sleep | 3 | |
Close All Browsers |
点击元素
Click Element 用于点击页面上的元素,可以点击按钮、文字/图片连接、复选框、 单选框、甚至是下拉等。
id=su 表示元素定位
Open Browser | http://www.baidu.com | gc |
input text | id=kw | robot framework |
Click Element | id=su | |
Sleep | 3 | |
Close All Browsers |
点击按钮
Click Element 关键字用于点击页面上的按钮。
id=su 表示元素定位
Open Browser | http://www.baidu.com | gc |
input text | id=kw | robot framework |
Click Button | id=su | #只能用于点击按钮 |
Sleep | 3 | |
Close All Browsers |
等待元素
等待页面包含元素
Wait Until Page Contains Element 关键字用于等待页面上的元素显示出来。
id=kww 表示用于定位元素
5 表示最长等待时间
error 表示错误提示,自定义错误提示,如:“元素不能正常显示”
Open Browser | http://www.baidu.com | gc | |
Input text | id=kw | robot framework | |
Wait Until Page Contains Element | xpath=/html/body/div[1]/div[1] /div/div[1]/div/form/span[2]/input |
5 | error |
Click Button | xpath=/html/body/div[1]/div[1] /div/div[1]/div/form/span[2]/input |
||
Close All Browsers |
等待元素包含文本
css=a.toindex:百度首页的定位
百度首页:元素包含的文本
10:表示最长等待时间
元素未出现:自定义报错内容
Open Browser | http://www.baidu.com | gc | ||
Input text | id=kw | robot framework | ||
Wait Until Element Contains | css=a.toindex | 百度首页 | 10 | 元素未出现 |
Click Button | id=su | |||
Close All Browsers |
获取 title
get title 关键字用于获得当前浏览器窗口的 title 信息。我们通常会将获取的title 传递给一个变量,然后与预期结果进行比较,从而判断当前脚本执行成功。
Open Browser | http://www.baidu.com | gc |
Maximize Browser Window | ||
$ | Get Title | |
Page Should Contain | $ |
获取 text
get text 关键字用于获取元素的文本信息。
name=tj_trnews 定位文本信息的元素。
Open Browser | http://www.baidu.com | gc |
Maximize Browser Window | ||
$ | Get Text | name=tj_trnews |
log | $ |
获取元素的其他属性值
id=kw 表示定位的元素
name 表示获取这个元素的 name 属性值。
Open Browser | http://www.baidu.com | gc | |
$ | Get Element Attribute | id=kw | name |
log | $ | ||
Close All Browsers |
title断言
Get Title 获得浏览器窗口的titile ,并赋值给变量${title}
Should Contain 比较${title}是否等于“robot_百度搜索”。
Open Browser | http://www.baidu.com | gc |
Input text | id=kw | robot |
Click Element | id=su | |
$ | Get Title | |
Should Contain | $ | robot_百度搜索 |
Close All Browsers |
text断言
Get Text:获取页面新闻链接的文本值,并赋值给${text}变量
Should Contain:${text}中应该包含新闻
Open Browser | http://www.baidu.com | gc |
$ | Get Text | name=tj_trnews |
Should Contain | $ | 新闻 |
Close All Browsers |
Frame标签
有时候和页面中会出现表单嵌套,这个时候需要进入到表单才能操作相关元素。
Select Frame:选择需要进入的框架,可以通过id或者name定位,如果没有id或者name可以通过xpath等
Unselect Frame:退出框架
Open Browser | file:///D:/frame/frame.html | gc |
Select Frame | id=f1 | |
Select Frame | id=f2 | |
Input Text | id=kw | python |
Click Button | id=su | |
Unselect Frame | ||
Close Browser |
下拉框操作
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>select下拉框</title>
</head>
<body>
民族:<select name='s'>
<option value="a">请选择</option>
<option value="b">汉族</option>
<option value="c">壮族</option>
<option value="d">朝鲜族</option>
<option value="e">满族</option>
</select>
</body>
</html>
下拉框通过Select类库进行定位
name=s:下拉框的元素定位
Select From List By Index:通过下拉框中的索引进行定位
Select From List By Label:通过下拉框中的文本值进行定位
Select From List By Value:通过下拉框中的value属性值进行定位
Open Browser | file:///D:/data/select.html | gc | |
Select From List By Index | name=s | 1 | |
Select From List By Label | name=s | 满族 | |
Select From List By Value | name=s | d | |
Close All Browsers |
下拉框通过层级定位
name=s:先定位下拉框
xpath=//option[@value='c']:再通过xpath进行定位下拉框中的元素
Open Browser | file:///D:/data/select.html | gc |
Click Element | name=s | |
Click Element | xpath=//option[@value='c'] | |
Close All Browsers |
多窗口的切换
Select Window
new
切换到新的窗口Select Window
title=python官网_百度搜索
根据窗口title切换至其他窗口
Open Browser | http://www.baidu.com | gc | |
Input Text | id=kw | python官网 | |
Click Element | id=su | ||
Click Link | python官网 | ||
Select Window | new | ||
Wait Until Page Contains Element | id=id-search-field | 20 | 网站未打开 |
Input Text | id=id-search-field | wxpython | |
Select Window | title=python官网_百度搜索 | ||
Click Element | xpath=//*[@id="3"]/h3/a | ||
Close All Browsers |
执行JavaScript
通过 js 定位
Document
: 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。getElementById() : 返回对拥有指定 id 的第一个对象的引用。
.value
:表示将id=kw的value值设置为test
Open Browser | http://www.baidu.com | gc |
Execute Javascript | document.getElementById('kw').value='test' | |
Execute Javascript | $('#su').click() |
通过JQuery定位
$
:表示的是jQuery的语句
#kw
:#表示id的属性值为kw
.val()
:表示将id=kw的value值设置为robot
Open Browser | http://www.baidu.com | gc |
Execute Javascript | $('#kw').val('robot') | |
Execute Javascript | $('#su').click() | |
Close All Browsers |
js操作隐藏元素
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
First name:<br>
<input type="text" name="firstname" id='ft' style="display: none;">
<br>
Last name:<br>
<input type="text" name="lastname" >
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
页面中如果有
style="display: none;"
是无法直接定位的,需要通过js更改页面的属性值,从而去定位document.getElementById('ft').style.display='block'; 就是将style的显示方式更改为block
Open Browser | file:///D:/data/is_dispaly.html | gc |
Execute Javascript | document.getElementById('ft').style.display='block'; | |
Input Text | id=ft | hello |
js操作进度条
UI自动化测试中,有时候定位页面元素需要滚动进度条才能够定位
Open Browser | https://www.sina.com.cn/ | gc |
Execute Javascript | window.scrollBy(0, document.body.scrollHeight) | #操作滚动条至底部 |
Execute Javascript | window.scrollTo(0, document.body.scrollHeight) | #操作滚动条至底部 |
Execute Javascript | window.scrollTo(0,100) | #通过调试确定滚动到页面100的位置 |
告警框操作
Handle Alert
: 方法有两个参数,[ action=action | timeout=timeout ]action:默认值为Accept,表示点击确定
DISMISS:表示点击取消
Open Browser | file:///D:/data/alert.html | gc |
Click Element | css=body > div > button:nth-child(2) > h3 | |
Handle Alert | ||
Handle Alert | DISMISS |
常用关键字项目实战
QQ自动发送邮件
Open Browser | https://mail.qq.com/cgi-bin/loginpage | gc |
Maximize Browser Window | ||
#等待页面元素出现 | ||
Wait Until Page Contains Element | id=login_frame | |
#进入框架 | ||
Select Frame | id=login_frame | |
Wait Until Page Contains Element | id=img_out_60XXXXX75 | |
#点击QQ图标,进行登录 | ||
Click Element | id=img_out_60XXXXX75 | |
Click Element | id=composebtn | |
#进入框架 | ||
Select Frame | id=mainFrame | |
#点击收件人输入框 | ||
Input Text | xpath=//*[@id="toAreaCtrl"]/div[2]/input | 771xxx297@qq.com |
#点击邮件主题 | ||
Input Text | id=subject | 测试邮件 |
#进入正文内容的框架 | ||
Select Frame | xpath=//div[@id="QMEditorArea"]/ table/tbody/tr[2]/td/iframe |
|
#输入正文的内容 | ||
Input Text | xpath=/html/body | 测试邮件 |
#退出框架 | ||
Unselect Frame | ||
#进入框架 | ||
Select Frame | id=mainFrame | |
#点击发送邮件按钮 | ||
Click Element | name=sendbtn | |
Page Should Contain | 您的邮件已发送 | |
Close All Browsers |