HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
在yaml文件中组织测试用例,在命令行执行。
参考:HTTPRunner_测开小菜鸟的博客-CSDN博客_httprunner
特点:
- 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
- 采用
YAML/JSON
的形式描述测试场景,保障测试用例描述的统一性和可维护性
- 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
- 支持完善的测试用例分层机制,充分实现测试用例的复用
- 测试前后支持完善的 hook 机制
- 响应结果支持丰富的校验机制
- 基于 HAR 实现接口录制和用例生成功能(har2case)
- 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
- 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
- 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
- 极强的可扩展性,轻松实现二次开发和 Web 平台化
安装
输入命令pip install httprunner==2.3.0
新建项目
在想要新建项目的文件夹中打开cmd,输入hrun --startproject 项目名称
即可在当前目录下创建项目。.
测试用例
在testcases文件夹下的yml文件中写测试用例。
![](https://img-blog.csdnimg.cn/54d63f857e4640c7a8db33c0a39f9d58.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Lic5pa55LiN6LSl5bCx5piv5oiR,size_16,color_FFFFFF,t_70,g_se,x_16)
name: 查询学院信息
request:
url: http://127.0.0.1:8099/api/departments/
method: Get
headers:
Content-Type: "application/json"
validate:
- eq: ["status_code", 200]
这个用例,通过Get方法请求url,并断言状态码是否为200。
运行用例
输入命令hrun 需要运行的用例路径(相对路径和绝对路径均可)
,即可运行测试用例。
![](https://img-blog.csdnimg.cn/cc4f17ee04cc46449bad7d0c42d56264.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Lic5pa55LiN6LSl5bCx5piv5oiR,size_18,color_FFFFFF,t_70,g_se,x_16)
可以查看执行成功,并生成了一个reports报告。
测试报告
![](https://img-blog.csdnimg.cn/45f2416c02c8474d9ab46568cb6e7157.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Lic5pa55LiN6LSl5bCx5piv5oiR,size_20,color_FFFFFF,t_70,g_se,x_16)
报告详情里可以看到request和response。
![](https://img-blog.csdnimg.cn/a2ef4b25b3d448c6b2d6bc4084a51a82.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Lic5pa55LiN6LSl5bCx5piv5oiR,size_20,color_FFFFFF,t_70,g_se,x_16)