HttpRunner入门内容
1、 创建HttpRunner项目
hrun --startproject demo
2、指定目录创建HttpRunner项目
hrun --startproject D:\TestSoftware\Pychram\PychramProject\demo
api文件:
- 用以保存单个独立的接口,最好是可以单独运行的(例如:保存一个公共方法用于case调用,调用格式:api/XXX.json或者是api/XXX.yaml)
testcase文件:
- 用以保存一个或者多个接口组成的测试用例(也能集合其它case进行顺序执行,调用格式:testcase/xxx.json或者是api/XXX.yaml)
执行测试用例则在项目控制台下:
hrun testcases/xx.json
hrun testcases/xx.yaml
testsuites文件:
- 多个测试用例的集合(用例集执行顺序是无序的)
reports文件:
- 运行用例后生成测试报告的位置
debugtalk.py文件:
- 在文件中定义方法(可以用其它.py文件写方法再进行调用,调用格式:${getdemo()))
.env文件:
- 自定义变量(调用格式:${.ENV(demo)}
3、提取参数的方法
1】获取返回包数据——提取参数
content.errorCode
2】调用其他接口返回值
(1).前置接口中设置(支持多个)指定参数
```
关键字:extract v参数名
extract:
token: content.token
```
(2)引用接口中调用该参数名
token: $token
3】yml文件
一个接口在testcases目录下建一个yml文件,内部存储该接口的所有测试场景
4】设置全局变量并引用
(1)设置全局变量参数
variables:
device_sn:Ejjjiiyso29j
(2)引用接口中调用该参数名
device_sn: $device_sn
5】调用函数
(1)定义函数
debugtalk.py中编写函数 get_name(n)
(2)调用函数
${get_name(1)}
6、参数化驱动
(1)新建一个存储参数化数据的yml文件
config:
name
testcases:
create user $user_id
testcase: testcases\test_demo.yml ——需要执行参数化的用例路径
parameters:
user_id: ["index","index1"] ——需要执行参数化的数据及其参数
(2)引用参数
$user_id
7、指定报告模板+路径
hrun testcases\test_data.yml --report-template E:/autotest/api_autotest/logs/report.html --report-dir E:/autotest/api_autotest/logs/
8、保存测试过程数据
hrun testcases\test_data.yml --save-tests
(1).XXX.loaded.json:测试用例加载后的数据结构内容,加载包括测试用例文件(YAML/JSON)、debugtalk.py、.env 等所有项目文件
(2).XXX.parsed.json:测试用例解析后的数据结构内容,解析内容包括测试用例引用(API/testcase)、变量计算和替换、base_url 拼接等
(3).XXX.summary.json:测试报告生成前的数据结构内容