@snakeshiy
2018-10-24T15:52:45.000000Z
字数 2215
阅读 1952
RobotFramework
自动化测试
Robot Framework(以下简称RF)是一款开源自动化测试框架,支持关键字驱动,有丰富的扩展库,可以对多端和接口进行测试
- 测试脚本可读性强,对中文的支持较好
- 官方提供的扩展库非常丰富,并且支持自定义的Python和Java库
- 测试报告和日志结构清晰,容易阅读和定位问题
- 支持分布式测试执行
- 提供二次开发的扩展能力
RF支持的一些常用的扩展库,如:
- PyCharm对Python的集成开发环境更强大
- PyCharm RF Plugin也提供了对RF良好的支持
- 更好地融入CI/CD体系中
pip install robotframework
工欲善其事,必先利其器。在Pycharm中开发RF脚本,语法高亮和提示功能必不可少。我们在 PyCharm -> Preferences -> Plugins -> Browse repositories
中查找并安装
Robot Framework Support
IntelliBot
安装完这两个插件后,重启PyCharm,然后我们可以尝试在PyCharm项目中新建一个robot文件。
RF文件内容主要由四大块组成:Settings、Variables、Keywords、Test Cases
*** Settings ***
Documentation This is a demo test suite
Resource Flow/order_flow.robot
Library Selenium2Library
Suite Setup log 初始化-测试用例集
Suite Teardown log 清除化-测试用例集
Force Tags demo_suite
Settings —— 配置信息,可以定义说明性文档、引用库和资源文件、标签以及定义Test Suite和Test Case属性等等。
在Settings里常用的一些关键字有:
Library
—— 引入函数库
Resource
—— 引入资源文件、Robot文件等
Documenation
—— 对测试用例集进行描述
Suite Setup
—— 在测试用例集运行前先运行,用于初始化
Suite TearDown
—— 在测试用例集运行后再运行,用于数据清除
Test Setup
—— 默认在每个用例前执行
Test TearDown
—— 默认在每个用例后执行
Test Template
—— 默认对每个用例设置测试模板
*** Variables ***
${const_var} ROBOT_FRAMEWORK # 普通变量
@{list_var} this is a demo # 列表变量
&{dict_var} name=Robot address=road phone=1345 # 字典变量
Variable —— 定义变量,上面的示例代码中,包含了常见的三种类型变量的定义方式
*** Keywords ***
加法
[Arguments] ${arg1}=0 ${arg2}=0
${result} add ${arg1} ${arg2}
[Return] ${result}
Keywords —— 用户定义的关键字,类似于一个函数,可以通过[Arguments]
为关键字定义参数及默认值,内部逻辑中调用了一个python自定义的add函数,通过[Return]
将结果返回
*** Test Cases ***
加法计算
[Tags] demo1
${result} 加法 2 3
should be equal ${result} ${5}
Test Cases —— 具体的测试用例描述及操作步骤,可以引入关键字、测试数据和断言对逻辑进行验证。
在Test Cases中我们还可以对当前测试用例进行配置,主要有以下几种用法:
[Documentation]
—— 对用例进行描述
[Tags]
—— 对用例进行分类标签
[Setup]
—— 在用例执行前先执行,主要用于初始化工作
[Teardown]
—— 在用例执行后再执行,主要用于数据清理工作
[Template]
—— 引用关键字作为测试模板,用于数据驱动的场景
[Timeout]
—— 对用例进行超时时间设置
常用的几种执行方式:
pybot -P . -i demo1 .
pybot -P . -t '加法计算' .
pybot -P . -s 'demo_test_suite' .
运行结束后,右键点击根目录下的 log.html 文件,选择 Open in Browser -> Chrome,即可查看测试报告与测试日志。
注意: 如果Chrome浏览器打不开报告,需要在应用商店搜索 Disable Content-Security-Policy 的插件并安装
作者 小肥羊
2018 年 10月 24日