HttpRunner(1)自我介绍
前言
首先,我们无论学习哪个框架,都要带着问题,带着思考去学习
思考1:HttpRunner是什么?
思考2:HttpRunner的设计模式是什么?
思考3:为什么我们要学习HttpRunner?他的优势是什么?他比之前的Pytest好在哪里
接下来我们带着这3个问题去学习
介绍
HttpRunner
是一款面向 HTTP(S)
协议的通用测试框架,只需编写维护一份 YAML/JSON
脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。
框架设计理念
- 充分复用优秀的开源项目,不追求重复造轮子,而是将强大的轮子组装成战车
- 遵循 约定大于配置 的准则,在框架功能中融入自动化测试最佳工程实践
- 追求投入产出比,一份投入即可实现多种测试需求
主要特征
- 继承
Requests
的全部特性,轻松实现 HTTP(S) 的各种测试需求 - 以
YAM
L或JSON
格式定义测试用例,使用pytest
运行,更加简洁优雅 - 基于 HAR 实现接口录制和用例生成功能(har2case)
- 支持
variables/ extract/ validate/hooks
机制,以创建非常复杂的测试方案。 - 借助辅助函数(debugtalk.py),任何函数都可以在测试用例的任何部分中使用
- 使用python的第三方库
jmespath
,让提取和验证json响应更简单 - 有了
pytest
,数百个插件随时可用。 - 集成了
Allure
,让测试报告更加漂亮,内容更丰富。 - 结合
Locust
框架,无需额外的工作即可实现分布式性能测试 - 执行方式采用 CLI 调用,可与
Jenkins
等持续集成工具完美结合 - 极强的可扩展性,轻松实现二次开发和 Web 平台化
思考人生
看了以上HttpRunner的优点,这,这也太香了?
个人觉得pytest
是非常好用的框架了,HttpRunner
看上去似乎比pytest
更加好用,那么本系列的最后,我会对两者做一个对比,看看各自的优缺点