初识HttpRunner
前段时间接触到HttpRunner自动化测试框架,发现对测试人员代码能力要求极低,用户只需准备好用例脚本即可发起测试,非常方便,故记录一下。
二.安装
-
运行环境
HttpRunner框架基于Python开发语言,可以运行在macOS、Linux、Windows系统平台。
本文实例均运行于Windows操作系统。
-
安装方式
pip install httprunner
-
安装校验
运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功。
hrun -V
三.原理
-
基本概念
-
测试用例
-
测试用例必须完整独立,每条用例可独立运行
-
一条用例需要用一个YAML/JSON文件管理
-
-
测试步骤
-
测试用例是测试步骤的有序集合
-
针对接口测试时,一个测试步骤对应一个API
-
-
测试用例集
-
测试用例集是测试用例的无序集合
-
集合中的测试用例相互独立,不存在先后依赖关系
-
-
测试场景
-
测试场景和 测试用例集是同一概念,都是 测试用例 的无序集合。
-
-
-
测试用例组织
-
测试用例结构
-
Testcase编写
-
YAML/JSON
文件的数据存储结构为list of dict
形式,其中可能包含一个全局配置项(config)和若干个测试步骤(test) -
config:作为整个测试用例的全局配置项
-
test:对应单个测试步骤(teststep),测试用例存在顺序关系,运行时将从前往后依次运行各个测试步骤
-
-
config详细说明
-
作用域为整个测试用例
- config: name: demoTestCase base_url: http://morse.qa-sh.56qq.com variables: bd-token: XXXXXXXXXXXXXXX== bd-app-uid: XXXXXXXXXXXXXXXXXXXa6c2-1c5119c570e3
-
-
test详细说明
-
作用域仅限本身
- test: name: test_three_elec request: headers: bd-app-uid: a365474c-a7e6-4b3d-a6c2-1c5119c570e3 bd-token: 6fEkwIF8NwKgnpEG1JTTg== method: POST url: /three_elec/do-check.do params: name: 蒋xx idcard: 511323xxxxxx33092 mobile: 1818095xxxx
-
-
-
运行测试
-
运行单个测试用例文件,并生成一个测试报告文件
cmd命令框执行:
hrun filepath/testcase.yml
-
运行测试用例集(文件夹内包含多个测试用例文件),并生成一个测试报告文件
cmd命令框执行:
hrun testcases_folder_path
-
高级功能
-
可设置用例运行过程中遇到失败时不再继续运行后续用例;
-
可设置日志打印级别
-
保存详细运行过程数据
-
-
-
输出报告
-
默认运行完测试用例会在当前路径下自动创建reports目录,里面会生成一份html格式的测试报告
-
高级功能
-
可自定义测试报告模板样式
-
可指定报告生成路径
-
-
四 实践
-
编写YAML格式测试用例
-
运行测试用例
-
查看测试报告
点击绿色的log按钮
五 后记
体验了一把下来会发现操作十分简单,只要学会组织测试用例,就能完成API自动化测试。
本文只是介绍演示了最基本的流程,还有很多功能,例如通过抓包文件转换测试用例,为用例添加校验,参数关联,自定义函数传参等,待后续继续学习。
参考资料:https://cn.httprunner.org/
https://debugtalk.com/tags/HttpRunner/