httprunner学习笔记
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
核心特性
- 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
- 采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性
- 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
- 支持完善的测试用例分层机制,充分实现测试用例的复用
- 测试前后支持完善的 hook 机制
- 响应结果支持丰富的校验机制
- 基于 HAR 实现接口录制和用例生成功能(har2case)
- 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
- 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
- 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
- 极强的可扩展性,轻松实现二次开发和 Web 平台化
hrun环境准备
python环境:python 3.6
httprunner 1.5.8
pip3 install httprunner==1.5.8 --index-url https://pypi.douban.com/simple
hrun –V 查看版本号
Linux环境安装: 查找hrun find / -name hrun
添加软链接 ln -s /usr/local/python3/bin/hrun /usr/bin/hrun
如果已经有了,就删除 rm /usr/bin/hrun
har2case
pip install har2case==0.3.1 --index-url https://pypi.douban.com/simple
测试准备
fiddle抓包导出.har文件
右上角File->Export Sessions->Selected Sessions->Select Export Format->勾选HTTPArchive v1.1

转脚本.har转换成.yml
har2case *****.har -2y
filter和exclude过滤

运行脚本
hrun *****.yml
运行文件下所有脚本:hrun ***\test\
范例
- config:
name: logincase
- test:
name: test_api_login2
request:
url: http://********/api/v1/userinfo
method: POST
headers:
Content-Type: application/json
Authorization: Token ${token()}
json:
age: '23'
mail: xxx@163.com
name: hanxi
sex: M
validate:
- eq: [content.message,update some data!]
config:公共配置
name:模块名
test:测试用例
name:测试用例名
request:
url:请求地址
method:请求方式
headers:请求头
json:请求参数
validate:断言
获取token操作
方法一:
yml 提取token

方法二:
debugtalk.py 辅助函数获取token

应用token
debugtalk.py方法

yml 方法

参数化数据驱动
方法一:

方法二:

方法三:
引用csv文件


本想创建data文件统一管理数据,结果不ok
报错(httprunner.exceptions.ParamsError: parameters syntax error!),望大佬指导!
方法四:

debugtalk.py 中定义函数 testdata,yml文件中引用


浙公网安备 33010602011771号