RF介绍
介绍
官网:https://robotframework.org/
基于python,开源
支持web/app/api自动化
关键字驱动
概念
Setings
设置项。包括导入库、资源、变量,设置变量、设置setup/teddown等
Librarys:
库:提供一系列的关键字
Keywords:
关键字:提供特定功能的函数。包活系统关键字和用户关键字
Resource:
资源:用户关键字的集合
Variables:
RF中的变量:单变量值和列表
TestCases/TestSuite
略
工具安装
ride.py安装
1. Python 3.0+ 安装
2. 安装:pip install robotframework-ride ,会自动安装依赖库wxPython、robotframework
pip install robotframework-selenium2library
3. 下载chromedriver放到python目录下(python.exe同级)
4. 验证环境成功,命令行运行:python ride.py
eclipse+Red
1. java + python + eclipse安装
2. 安装:pip install robotframework
3. 配置解释器
windows-preference-RobotFramework-installed frameworks,选择python解释器安装目录即可
Help-market---REd,安装即可
4. 配置自动补全功能windows-preference-RobotFramework-Editor-Content Assitant 加上如下内容: .abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$@&*:
5. 视图模式
右上角点击视图模式选择---robot
6. 编码格式
windows-preference-General-Workspace--UTF-8
7. 运行前自动保存
Window -> Preferences -> General -> Workspace -> “Save automatically before build”
Window ->Preferences -> Run/Debug -> Launching -> “Save dirty editors before launching”
pycharm配置
Name:Robot Run SingleTestCase
Arguments:-d results -t "$SelectedText$" ./
Working directory:$FileDir$
Program 配置为python3目录中的pybot.bat
Name:Robot Run TestSuite
Arguments:-d results $FileName$
Working directory:$FileDir$
Program 配置为python3目录中的pybot.bat
使用
库和关键字
BuiltIn:内置库
collection:操作列表
Date Time:系统事件
OS:系统操作
String:字符串
...
每一个关键字即为一个函数
demo
# 导入模块
*** Settings ***
Library DateTime
# 关键字定义
*** Keywords ***
两数求和
[Arguments] ${a} ${b}=12
[Documentation] 实现两数求和
... 参数1 a
... 参数2 b
${sum}= Evaluate ${a}+${b}
[Return] ${sum}
# 测试用例
*** Test Cases ***
# 用例1
打印当前的时间
Log 20191025
# 用例2
打印当前时间(实时)
${cur} Get Current Date
# 用例3
调用两数求和
两数求和 23 13
导入SeleniumLibrary
*** Settings ***
Library SeleniumLibrary
# 若出现红色波浪线,Ctrl+1加入引入
定义变量
方式1:
${var}= Set Variable 200
@{list}= Create List a b c
&{dict}= Create Dictionary key=value hello=world
方式2:
*** Variables ***
${var1} 变量1
@{newList} 张三 李四 王五
&{newDict} key=value hello=world
方式3:
# 变量文件.py文件
res=True
# RF下变量文件定义list需要再变量前添加LIST__
LIST__my_list=['张三', '李四', '王五']
# RF下变量文件定义dict需要再变量前添加DICT__
DICT__my_dict={'key': 'value', 'hello': 'world'}
*** Settings ***
Variables 变量文件.py
# 测试用例
*** Test Cases ***
变量赋值3
Log ${my_list}
Log ${my_dict}
方式4:
Set Suite Variable ${dict}
Log ${dict}
关键字
方式1:参照demo
方式2:
# 用户关键字集.robot
*** Keywords ***
两数求和
[Arguments] ${a} ${b}=12
[Documentation] 实现两数求和
... 参数1 a
... 参数2 b
${sum}= Evaluate ${a}+${b}
[Return] ${sum}
# 导入模块
*** Settings ***
Resource 用户关键字集.robot
*** Test Cases ***
调用两数求和
用户关键字集.两数求和 23 13
工程管理
PO模式:
Project:File--New--Robot Project
测试用例层:robot suite folder
测试套件(TestSuites):File--New--Robot TestSuite---robot格式
页面对象层:folder
red.xml----RF配置文件
资源文件:File--New--Robot ResourceFile---robot格式
变量文件:File--New--Robot RythonFile---emply content格式---.py
文件区域标识:输入*,自动弹出
添加库:ctrl+1
常用关键字
# 点击enter键
press keys ${index_search} \\ue007
press keys ${index_search} \\13
备注
:个人不建议使用RobotFramework,但可以学习其源码中对接口、UI自动化的成熟处理,对于框架搭建大有裨益。