简介/特点
基于python开发,可扩展,以关键字驱动的自动化测试框架
数据驱动:把测试用例的数据放到excel、yaml里面,然后通过改变excel/yaml文件里面的数据达到控制测试用例执行的过程
关键字驱动:把项目中的业务逻辑或者基本操作封装成一个个的关键字,然后调用不同的组合或关键字的组合实现不同的业务逻辑
特点:
pip install robotframework==3.1
pip install robotframework-ride
web自动化测试:pip install robotframework-seleniumlibrary==3.0.0
接口自动化测试:pip install robotframework-requests
APP自动化测试:pip install robotframework-appiumlibrary
基本使用
测试套件
- Edit标签
- setting设置—>加载外部文件(扩展文件)定义内部变量 定义元数据
RF类库和扩展库
- 标准库 venv\Lib\site-packages\robot\libraries
Builtin(测试库)
DateTime(时间库)
Collections(集合库)
Screenshot(截屏库)
- 扩展库
web自动化测试:SeleniumLibrary,Selenium2Library,Selenium2Library for java
接口自动化测试:RequestsLibrary
APP自动化测试:AppiumLibrary
RF基本使用
基本类的关键字
使用shift+ctrl+space可以提升补全关键字信息
*** Settings ***
*** Test Cases ***
测试test_01
#设置变量
${a} Set Variable 1000
#打印log信息 message html=html level=INFO
Log <b>Hello</b>,world HTML INFO
#获取当前时间
${time} Get Time
Log ${time}
#拼接字符串
${str} Catenate 百里 守约 貂蝉
#拼接字符串 拼接符号使用‘#’'SEPARATOR'关键字相当于定义拼接符号
${str} Catenate SEPARATOR=# 守约 貂蝉
#创建列表和python一样
${list} Create List 百里 守约 貂蝉
Log ${list}
#创建列表,['百里'|'守约'|'貂蝉'],通常用在FOR循环中使用
@{list} Create List 百里 守约 貂蝉
Log Many @{list}
#字典关键字
${dict} Create Dictionary name=百里 age=38
复杂关键字
*** Settings ***
Library Collections
Library Screenshot
*** Test Cases ***
复杂关键字
#执行Python方法
${rand} Evaluate random.randint(1,100) modules=random
${time} Evaluate datetime.datetime.now() modules=datetime
${day} Evaluate datetime.datetime.now().day modules=datetime
${time_type} Evaluate type(datetime.datetime.now())
#执行py文件里面的方法
Import Library C:\\Users\\banma-2900\\venv\\test.py
${result} sum 10 10 20 50
Log ${result}
#流程控制if
${a} Set Variable 60
Run Keyword If ${a}<60 Log 不及格
... ELSE IF ${a}<80 and ${a}>=60 Log 一般
... ELSE IF ${a}>=80 Log 优秀
... ELSE Log 完美
#流程控制for 方法1
FOR ${a} IN 1 2 3 4
Log ${a}
END
#流程控制for 方法2
@{list} Create List 1 2 3 apple
FOR ${a} IN @{list}
Log ${a}
END
#流程控制for 方法3
FOR ${a} IN RANGE 1 11
Run Keyword If ${a} > 6 Exit For Loop
Log ${a}
END
#截图
Take Screenshot
web自动化
常用关键字
*** Settings ***
Library SeleniumLibrary
Library Screenshot
*** Test Cases ***
常用关键字
Open Browser https://www.baidu.com chrome
Evaluate time.sleep(3)
#设置隐式等待
Set Browser Implicit Wait 3
#设置浏览器最大化
Maximize Browser Window
Evaluate time.sleep(3)
#制定浏览器位置
Set Window Position 100 200
Evaluate time.sleep(3)
#制定浏览器大小
Set Window Size 800 600
Evaluate time.sleep(3)
#前进
Go To https://www.bilibili.com/
Maximize Browser Window
Take Screenshot
Evaluate time.sleep(3)
#回退
Go Back
Evaluate time.sleep(3)
#刷新
Reload Page
#获得浏览器高度和宽度
${width} ${height} Get Window Size
#获取浏览器标题
${title} Get Title
#获取浏览器地址
${location} Get Location
#关闭浏览器
Close Browser