httprunner4.x学习1 - 初次见面
背景:
Pytest是纯接口的自动化框架。 而HttpRunner一款开源测试平台, 可以实现接口测试 / 压力测试DevOps / 数字体验监测。
那交个新朋友HttpRunner学习下。
米哈游-平台部、有米科技-测试与工程质量保障部、通用环球医疗-环球健康等客户案例在使用HttpRunner框架。
为什么可以用HttpRunner?
自动化测试主要是 API 自动化和 UI 自动化,对于其中的 API 自动化,在 HttpRunner 之前,可以各种各样的工具,比如 Postman、JMeter、Python Requests、Pytest、自研脚本工具等等,但总有一些不如意的地方。
主要问题是:
- 有些工具上手简单,但是效率不高,如 Postman、JMeter等;
- 有些工具效率很高,但是有一定门槛,无法让所有成员快速上手,如Python Requests、Pytest、自研脚本工具;
- 由于上述两个问题,同时团队各成员能力上下不一,另一方面产品在持续敏捷迭代,所以在一开始没能找到统一的共识工具,姿势不一,造成脚本维护成本增加,团队能力积累不明显,效率不高;
HttpRunner 优势明显:
- 小巧、灵活、功能齐全,满足日常数据接口验收需要;
- 开源,支持定制和扩展,可以进行 Web 可视化;
- 用例与代码分离,实现用例标准化,方便生成和转换,方便统一和维护
- 降低了使用门槛,适合不同团队成员,而且极大提升用例设计效率;
HttpRunner介绍
HttpRunner 是由大疆(是的,无人机的大疆)测试部门开发的开源测试框架,可以方便的支持接口测试。
HttpRunner 是由 Python 语言开发,代码托管于 GitHub 上。
附上官方手册和源码托管地址:
中文手册:https://docs.httprunner.org/
仓库地址:https://github.com/HttpRunner/HttpRunner
更所详细内容见官网。
需要具备的知识储备
如果想更好的掌握 httprunner 框架,最好有以下知识储备
- python3 基础语法,毕竟httprunner 主要新增pytest用例,鼓励大家写代码了
- requests 库,发 HTTP(HTTPS) 请求基本库
- YAML/JSON 文件语法
- jmespath 提取返回结果,类似于 jsonpath 库,可以先了解下
- pytest 框架,执行用例最终用的是 pytest 框架,熟练掌握 pytest 框架是很有必要的
- allure 测试报告用的 allure 框架
性能测试,可以掌握这个框架Clust或者Go Boomer
学习计划及安排
第一章 环境与简介
第二章 Yaml 测试用例结构与关键字使用
第三章 场景案例(debugtalk.py辅助函数)
第四章 JmesPath 表达式提取JSON
第五章 Pytest 风格用例
第六章 接口项目实战
第七章 Allure 测试报告
第八章 Jenkins 持续集成(大结局)