1、robot framework
robot framework自动化测试框架(简称:RF框架)是一个基于python的,通过selenium二次封装后得到selenium2library第三方库,通过封装以后的关键字驱动的测试框架。
- 基于python,就是用python开发的框架
- 关键字驱动测试:关键字驱动页面元素,关键字测试也称为表格驱动测试
- 自动化框架,在自动化中,通过加装不同的第三方库来做不同的自动化测试
2、常见的几种测试框架
- robot framework + selenium2library :是一款python编写的功能自动化测试框架
- python + selenium selenium做自动化要求会语言,写代码,selenium支持多语言,方便,扩展性高,开源版。
- qtp:前几年流行
3、rf工作原理
rf是开源,通过加装第三方库组成的测试环境,webdriver通过原生的api进行封装来操作浏览器,使用具体的关键字操作网页上的元素。
总结:使用底层代码封装成关键字通过webdriver去驱动页面元素,实现ui自动化
4、rf安装过程
- pip install robotframework==3.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
- pip install robotframework-ride -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
- pip install robotframework-selenium2library -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
- pip install robotframework-databaselibrary -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
5、rf中元素定位
id定位
name定位
class定位
xpath定位
css定位
js定位
变量
全局变量:$ { } log 打印全局变量
列表变量:@{ } log many 打印列表变量
字典变量:& { } log many 打印字典变量
常用关键字
reload page
刷新当前页面
go to
跳转新的url
go back
返回上一步
input text 输入
input password
click button
click elemet
click link
get title
switch browser
1、通过索引切换浏览器
Open Browser http://discuz.e70w.com/ gc
sleep 2 #休眠
Maximize Browser Window #窗口最大化
Open Browser https://www.baidu.com/ gc
sleep 2
${title} get title
log ${title}
input text id=kw dcs
Switch Browser 1
${title1} get title
log ${title1}
2、通过句柄切换窗口
3、通过别名切换浏览器
下拉框:select from list by index或 value 或label
iframe
进入框语句:select frame
退出框语句:unselect frame
案例:京东iframe框
鼠标悬停 mouse ove
弹框handle alert
get title 和 title should be
关闭浏览器和关闭和窗口
1、close browsers 关闭当前浏览器
2、close all browsers 关闭所有浏览器
3、close window 关闭当前窗口
场景一:close browsers 关闭当前浏览器
场景二:close all browsers 关闭所有浏览器
场景三:close window 关闭当前窗口
get text和get value
滚动条
Open Browser https://www.jd.com gc
sleep 2
Maximize Browser Window
Execute Javascript window.scrollTo(0,2000)
sleep 3
Execute Javascript window.scrollTo(0,0)
get window size 获取屏幕大小
Open Browser https://www.jd.com gc
sleep 2
Maximize Browser Window
${size} get window size
log ${size}
表单操作
Open Browser file:///F:/flask_projects/dcs/ui_zidonghua/table.html gc
sleep 2
Maximize Browser Window
input text name=user shijie
Input Password name=passwd 123456
Input Password name=conpasswd 123456
Select Radio Button sex boy
sleep 2
Select Checkbox xpath=//*[@name="subject"][2]
Select Checkbox xpath=//*[@name="subject"][3]
Select From List By Label xpath=//select 北京大学
sleep 3
Click Element xpath=//*[@type="reset"]
sleep 3
Close Browser
判断关键字
robotframework实战常用判断关键字:
- page should contain #验证页面包含内容
- Page Should not Contain #验证页面不包含内容
- Page Should Contain Element 页面包含元素
- Page Should Not Contain Element 页面不包含元素
- Wait Until page Contains 等到页面包含
- Wait Until Page Does Not Contain 等到页面不包含
- Wait Until Page Contains Element 等到页面包含元素
- Wait Until Page Does Not Contain Element 等到页面不包含元素
page should contain #验证页面包含内容
包括继续运行,不包括指定内容报错
修改元素
Open Browser http://www.baidu.com gc
sleep 2
Maximize Browser Window
Assign Id To Element kw dcs
sleep 2
Input Text id=dcs 多测师