简介/特点
基于python开发,可扩展,以关键字驱动的自动化测试框架
数据驱动:把测试用例的数据放到excel、yaml里面,然后通过改变excel/yaml文件里面的数据达到控制测试用例执行的过程
关键字驱动:把项目中的业务逻辑或者基本操作封装成一个个的关键字,然后调用不同的组合或关键字的组合实现不同的业务逻辑
特点:
pip install robotframework==3.1pip install robotframework-rideweb自动化测试:pip install robotframework-seleniumlibrary==3.0.0接口自动化测试:pip install robotframework-requestsAPP自动化测试: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=INFOLog <b>Hello</b>,world HTML INFO#获取当前时间${time} Get TimeLog ${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 CollectionsLibrary 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 50Log ${result}#流程控制if${a} Set Variable 60Run Keyword If ${a}<60 Log 不及格... ELSE IF ${a}<80 and ${a}>=60 Log 一般... ELSE IF ${a}>=80 Log 优秀... ELSE Log 完美#流程控制for 方法1FOR ${a} IN 1 2 3 4Log ${a}END#流程控制for 方法2@{list} Create List 1 2 3 appleFOR ${a} IN @{list}Log ${a}END#流程控制for 方法3FOR ${a} IN RANGE 1 11Run Keyword If ${a} > 6 Exit For LoopLog ${a}END#截图Take Screenshot
web自动化
常用关键字
*** Settings ***Library SeleniumLibraryLibrary Screenshot*** Test Cases ***常用关键字Open Browser https://www.baidu.com chromeEvaluate time.sleep(3)#设置隐式等待Set Browser Implicit Wait 3#设置浏览器最大化Maximize Browser WindowEvaluate time.sleep(3)#制定浏览器位置Set Window Position 100 200Evaluate time.sleep(3)#制定浏览器大小Set Window Size 800 600Evaluate time.sleep(3)#前进Go To https://www.bilibili.com/Maximize Browser WindowTake ScreenshotEvaluate time.sleep(3)#回退Go BackEvaluate time.sleep(3)#刷新Reload Page#获得浏览器高度和宽度${width} ${height} Get Window Size#获取浏览器标题${title} Get Title#获取浏览器地址${location} Get Location#关闭浏览器Close Browser
