HttpRunner
简介
HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON
脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
项目地址:https://github.com/HttpRunner/HttpRunner
中文手册:http://cn.httprunner.org
框架流程
核心特性
继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
测试用例与代码分离,采用YAML/JSON的形式描述测试场景,保障测试用例具备可维护性
测试用例支持分层机制,充分实现测试用例的复用
测试用例支持参数化和数据驱动机制
使用 skip 机制实现对测试用例的分组执行控制
测试请求支持完善的 hook 机制
支持热加载机制,在文本测试用例中轻松实现复杂的动态计算逻辑
基于 HAR 实现接口录制和用例生成功能(har2case)
结合 Locust 框架,无需额外的工作即可实现分布式性能测试
执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
具有可扩展性,便于扩展实现 Web 平台化(HttpRunnerManager)
下载安装
使用pip命令进行安装
pip install httprunner
安装后校验是否安装成功,可以使用如下命令进行校验
hrun -V
1.4.2
har2case -V
0.1.8
若版本号正常显示,则说明安装正常。
入门使用
测试场景
测试接口:http://httpbin.org/get
接口类型:GET
用例设计
HttpRunner 的测试用例支持两种文件格式:YAML 和 JSON。这里以YAML为例。
test_httpbin.yml
- config:
name: httpbin api test
request:
base_url: http://www.httpbin.org
- test:
name: get request
request:
url: /get
method: GET
validate:
- eq: [status_code,200]
config
:作为整个测试用例集的全局配置项test
:对应单个测试用例name
这个test的名字request