HTTPRunner
一、HTTPRunner项目准备
1.1 安装
在cmd中输入命令pip install httprunner==2.3.0
输入hrun -V
打印出版本就是安装成功了。
1.2 新建项目
在想要新建项目的文件夹中打开cmd,输入hrun --startproject 项目名称
即可在当前目录下创建项目。.
1.3 HttpRunnser 2.x工程目录结构
-
api目录
- a.主要存放接口的最小执行单元(正向用例)
-
reports目录
- 用于存放测试报告
-
testcases目录
- 用于处理接口的复杂执行逻辑
- 实现接口与接口之间的依赖
-
testsuites目录
- 用于添加多条测试用例,批量执行
- 处理数据驱动测试(参数化)
-
env文件
- 用于定义全局环境变量
- 可以在整个项目的测试脚本中调用
-
debugtalk.py文件
- 用于处理动态参数
- 也可以处理参数化动态数据
1.4 YAML配置文件的格式要求
- yaml是数据格式,不是数据类型
- yaml配置文件的后缀为.yaml或者.yml
- yaml配置文件中使用#进行注释,不可以在yaml数据行内进行注释
- yaml为key: value,key往往与冒号之间不加空格,value与冒号之间必须得加空格
- yaml配置文件中,同一区域的key不能重复
- yaml中value的数据类型,如果value中含有字母,会识别为字符串类型(false、true、on、off、null除外),可以无需添加引号
- 可以使用成对的单引号或者双引号来指定字符串类型
- 如果value为数字,会指定识别为int或float类型
- yaml是一个强缩进的数据格式,同级键值对缩进必须一致,默认缩进2格
- 如果使用- 代表为数组结构(列表)
二、登录接口测试用例设计
2.1 基础的测试用例结构
/api/login_api.yml
# 指定当前用例的名称
name: "登录接口-正向用例"
# 指定接口的请求信息
request:
# 指定当前用例的url
url: 'http://127.0.0.1:8000/user/login/'
# 指定当前接口的请求方式
method: POST
# 指定请求头参数
headers:
Content-Type: "application/json"
# 指定json请求参数
json:
username: 'aaron123'
password: '123456'
# 指定断言信息
validate:
# 方式一:
# - 断言方式: ["实际值", 期望值]
- eq: ["status_code", 200]
# 方式二(不常用):
# 完整定义
# - {"check": "实际值", "comparator": "断言方式", "expect": 期望值}
# - {"check": "status_code", "comparator": "le", "expect": 201}
2.2 运行测试用例
2.2.1 使用命令行运行
输入命令hrun 需要运行的用例路径(相对路径和绝对路径均可)
,即可运行测试用例。
2.2.2 使用py文件运行
from httprunner.api import HttpRunner
obj = HttpRunner(log_level="DEBUG")
obj.run(r'E:\httprunner_dev06\testsuites\login_testsuite.yml')
res = obj.summary
2.3 修改输出的日志级别
输入命令hrun 需要运行的用例路径 --log-level 指定的等级
即可修改输出的日志级别。