RobotFramework是基于Python编写的自动化测试框架。具有良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,进行分布式测试。
ride是编写RF用例的图形化界面。
RF使用手册:
https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html
一般RF创建工程中会涉及几个组件:TestSuits(测试套件)、测试库(Library)、资源关键字(ResourceKeyWords)、测试数据(TestData)。
通常自动化工程架构如下:
- RideTest为自动化工程名称
- SmokeTestSuits存放用于冒烟测试的测试用例
- TestSuits存放全量用例,可执行回归测试
- TestData存放测试数据
- Script存放自定义的扩展库和python文件
- ResourceKeyWords存放Resource文件,包括具体的控件操作、具体功能(例如:新建用户功能)等。
- Ride提供 F5 快捷键来查询帮助文档。在Search term输入框中输入关键字,回车,即可查看详细信息。
※※※仅可查看当前工程中已导入的测试库- 添加注释:Ctrl + #
- 取消注释:Ctrl + $
- 执行用例:F8
- 插入行:Ctrl + i
- 删除行:Ctrl + d
- 删除单元格:Ctrl + Shift + d
- 插入单元格:Ctrl + Shift + i
- 向上移动用例:Ctrl + ↑
- 向下移动用例:Ctrl + ↓
- 补全关键字&&查看关键字用法:Ctrl + Alt + Space
一、 创建工程
通常在Project右侧编辑栏中import公共测试数据资源,在Suite Setup中Run keywords公共数据,在Suite Teardown中Run keywords清除测试数据。
二、创建测试套件TestSuites
New Suite可以创建两种类型的套件,
File类型下可创建具体的用例Test Case,
Directory类型下只能继续创建Suites。
在工程上右击,选择 New Suite,类型为Directory,创建测试套件,以便用于管理测试用例。而后再次选择New Suite,类型为File为不同的模块创建Suit,在其中存放该模块的测试用例。
Suite右侧的编辑栏主要包含三个部分:加载外部文件、定义内部变量、定义元数据。
- 加载外部文件:
- Add Library:加载测试库,主要是[Python安装路径]\Lib\site-packages下的已安装库。例如:Selenium2Library
- Add Resource:加载资源,一般是工程中用户自定义的资源关键字
- Add Variables:加载变量文件
- 定义内部变量:
- Add Scalar:定义普通变量
- Add List:定义list变量
- Add Dict:定义字典变量
- 定义元数据:
- Add Metadata:定义元数据。可以在log和report中调用显示
2.1加载外部文件
2.1.1 Add Library
- 若在Project中加载外部库,则在用例中使用时,需要在Suite中再次加载测试库,才能使用库中提供的关键字。
- 若在Suite中加载外部库,则在用例中可直接调用库中关键字。
- 加载后,若页面显示黑色字体,表示加载成功;若显示红色字体,表示加载失败 (注意区分大小写)
2.1.2 Add Resource
加载资源后,Suite中的测试用例可调用该资源中定义的关键字。
可加载工程内部资源 和 工程外部资源。
若加载外部资源,则在左侧的External Resources中可查看资源内的所有可用关键字。
2.2 定义内部变量
2.2.1 Add Scalar
普通变量用 ${} 标识
2.2.2 Add List
定义列表变量用 @{} 标识,调用列表变量时需使用${}[index]
2.2.3 Add Dict
字典定义用 &{} 标识,定义值格式为 key=value,调用时使用 ${}[key]
2.3 Suite编辑栏Settings
File类型Suite右侧编辑栏使用:
- Documentation:当前套件的描述
- Suite Setup:当前测试套件执行的前置操作,例如:登录
- Suite Teardown:当前测试套件执行的后置操作,例如:登出
- Test Setup:该套件下每一个用例执行的前置操作
- Test Teardown:该套件下每一个用例执行的后置操作
- Force Tags:套件下所有用例的强制标签
- Test Template:测试模板,指定某个关键字为该套件下所有用例的模板,case会执行该关键字的所有步骤。该模板下的所有case内容只需传入关键字的参数即可,除参数外不允许有其他步骤。可传入多行数据,写几行数据则关键字执行几次。
- Test Timeout:设置每个case的超时时间,只要超过这个时间就会失败并停止运行。可以防止case卡住不动
- Test Tags:每个用例的标签
- Default Tags:默认标签,与Force Tags相同
三、创建测试用例TestCase
在File类型的Suite下右击,选择New Test Case,输入用例名称即可创建用例。
在右侧的编辑中调用已定义好的关键字,即可完成用例设计。
3.1 Test Case编辑栏的Settings
右侧编辑栏的使用:
- Documentation:当前测试用例的描述
- Setup:当前用例执行的前置条件
- Teardown:当前用例执行的后置条件
- Timeout:用例的超时时间,超过时间就失败并停止运行。可防止该用例卡住不动,不停止也不失败
- Template:测试模板(某个关键字),只需在case步骤中写上关键字的参数值即可,可写多行参数
- Tags:用例标签,在Run区的Tests filters中可通过这个标签来识别是否运行或跳过该用例
四、 创建资源和关键字
右击目录选择New Resource,输入资源名即可。在资源下可创建关键字,关键字可以执行标签操作和功能操作等。
五、使用自定义Python库
- 将自定义的Python文件存放到工程的特定目录下()
- 通过导入library的方式导入python文件(包含路径)
- 调用py文件中的函数即可