
作者:星安果
来源:AirPython
1. 前言
原始测试金子塔包含 3 层,分别是:UI 自动化测试、接口服务测试、单元测试
其中,
单元测试是对软件的最小可测试单元进行检查和验证,也是产生效率最大的一项测试
接口服务测试分为模块接口测试和协议接口测试
UI 测试主要是为了取代人力操作,通过 UI 自动化去模拟操作,降低回归测试的成本
考虑到投入产出率,大部分企业都会将测试重点放在接口自动化测试这一项上
接口自动化主流方案包含:python + Pytest/Unittest、Java + TestNG、Postman、HttpRunner、Postman、Jmeter、RobotFramework 等
本篇文章将和大家一起聊聊 HttpRunner 做接口自动化的流程
2.介绍及安装
HttpRunner 是一款完全由 Python 语言编写的测试框架,并且简单、优雅、功能强大,同时支持 HTTP 和 HTTPS
HttpRunner 主要包含下列特征:
使用 pip 安装 HttpRunner 稳定版本
# 安装 HttpRunner 稳定版本 pip3 install httprunner
需要指出的是,HttpRunner V3 版本对比 V2 版本进行了大量优化,特别是测试用例的表现形式,强烈建议安装 V3 版本
3.常见命令
安装完 HttpRunner 之后,就可以使用下面几个命令了
1、hrun
HttpRunner 最主要的命令,主要作用是运行 Py/YAML/JSON 格式的测试用例
2、hmake
将 YAML/JSON 格式的测试用例转换为 Python 文件
ps:HttpRunner V3 以 Python 文件保存测试用例,V2 之前是以 JSON/YAML 格式保存测试用例
3、har2case
har2case 作用是将 HAR 格式的请求文件转为 YAML/JSON/Py 格式的测试用例
ps:一般网络请求都可以直接以 AHR 格式保存到本地
4、locusts
HttpRunner 集成了 locusts 命令,可以利用它直接进行性能测试
5、其他命令
另外,通过 httprunner -h 命令可以查看帮助;使用 httprunner -V 命令可以查看 HttpRunner 的版本信息
4.小试牛刀
先通过一个简单的接口聊聊 HttpRunner 的使用步骤
目标接口 - GET:
https://postman-echo.com/get?foo1=bar1
第一步:抓包,保存为 HAR 文件
打开 Charles 或 Fiddler,配置 Chrome 浏览器的代理, 使Charles 可以对浏览器进行抓包
使用 Chrome 访问这个接口地址,模拟一次请求,然后在 Charles 中找到对应的请求,右键保存为 HAR 文件
第二步:转为测试用例
使用 har2case 命令将 HAR 文件转换为测试用例,V3 版本默认生成测试用例格式为 Py 文件
查看测试用例后发现,HttpRunner 自动生成的测试用例结构十分清晰,二次修改也非常方便
第三步,运行测试用例
使用 hrun 命令运行测试用例,另外,加上 --html 参数,可以在本地生成测试报告
# 生成测试报告 hrun demo_test.py --html=report.html
打开测试报告,可以查看测试用例的执行结果及日志
5.脚手架
HttpRunner 同样提供了脚手架,方便我们快速创建标准化项目
# 使用脚手架创建一个项目 httprunner startproject demo
生成项目的目录结果如下:
其中,
1、debugtalk.py
一般用于自定义 Python 函数,方便测试用例调用
比如:某个请求参数需要通过一段加密逻辑生成,这时可以自定义一个函数写在 debugtalk.py 文件中
2、har
从抓包工具、Postman、浏览器保存的网络请求
3、reports
生成测试报告的目录
需要指出的是,除了使用自带的 pytest-html 插件生成测试报告,HttpRunner 还可以通过 allure 生成功能更加强大的测试报告
4、testcases
用于放置测试用例
使用 hrun 命令可以直接运行脚手架项目
# 运行脚手架项目 # hrun 项目名称 hrun demo
6.最后
受限于篇幅,上面仅仅介绍了 HttpRunner 最基本的使用方法
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
R 语言:数据科学与科研领域的核心工具及优势解析 一、引言 在数据驱动决策的时代,无论是科研人员验证实验假设(如前文中的 T ...
2025-09-08T 检验在假设检验中的应用与实践 一、引言 在科研数据分析、医学实验验证、经济指标对比等领域,常常需要判断 “样本间的差异是 ...
2025-09-08在商业竞争日益激烈的当下,“用数据说话” 已从企业的 “加分项” 变为 “生存必需”。然而,零散的数据分析无法持续为业务赋能 ...
2025-09-08随机森林算法的核心特点:原理、优势与应用解析 在机器学习领域,随机森林(Random Forest)作为集成学习(Ensemble Learning) ...
2025-09-05Excel 区域名定义:从基础到进阶的高效应用指南 在 Excel 数据处理中,频繁引用单元格区域(如A2:A100、B3:D20)不仅容易出错, ...
2025-09-05CDA 数据分析师:以六大分析方法构建数据驱动业务的核心能力 在数据驱动决策成为企业共识的当下,CDA(Certified Data Analyst) ...
2025-09-05SQL 日期截取:从基础方法到业务实战的全维度解析 在数据处理与业务分析中,日期数据是连接 “业务行为” 与 “时间维度” 的核 ...
2025-09-04在卷积神经网络(CNN)的发展历程中,解决 “梯度消失”“特征复用不足”“模型参数冗余” 一直是核心命题。2017 年提出的密集连 ...
2025-09-04CDA 数据分析师:驾驭数据范式,释放数据价值 在数字化转型浪潮席卷全球的当下,数据已成为企业核心生产要素。而 CDA(Certified ...
2025-09-04K-Means 聚类:无监督学习中数据分群的核心算法 在数据分析领域,当我们面对海量无标签数据(如用户行为记录、商品属性数据、图 ...
2025-09-03特征值、特征向量与主成分:数据降维背后的线性代数逻辑 在机器学习、数据分析与信号处理领域,“降维” 是破解高维数据复杂性的 ...
2025-09-03CDA 数据分析师与数据分析:解锁数据价值的关键 在数字经济高速发展的今天,数据已成为企业核心资产与社会发展的重要驱动力。无 ...
2025-09-03解析 loss.backward ():深度学习中梯度汇总与同步的自动触发核心 在深度学习模型训练流程中,loss.backward()是连接 “前向计算 ...
2025-09-02要解答 “画 K-S 图时横轴是等距还是等频” 的问题,需先明确 K-S 图的核心用途(检验样本分布与理论分布的一致性),再结合横轴 ...
2025-09-02CDA 数据分析师:助力企业破解数据需求与数据分析需求难题 在数字化浪潮席卷全球的当下,数据已成为企业核心战略资产。无论是市 ...
2025-09-02Power BI 度量值实战:基于每月收入与税金占比计算累计税金分摊金额 在企业财务分析中,税金分摊是成本核算与利润统计的核心环节 ...
2025-09-01巧用 ALTER TABLE rent ADD INDEX:租房系统数据库性能优化实践 在租房管理系统中,rent表是核心业务表之一,通常存储租赁订单信 ...
2025-09-01CDA 数据分析师:企业数字化转型的核心引擎 —— 从能力落地到价值跃迁 当数字化转型从 “选择题” 变为企业生存的 “必答题”, ...
2025-09-01数据清洗工具全景指南:从入门到进阶的实操路径 在数据驱动决策的链条中,“数据清洗” 是决定后续分析与建模有效性的 “第一道 ...
2025-08-29机器学习中的参数优化:以预测结果为核心的闭环调优路径 在机器学习模型落地中,“参数” 是连接 “数据” 与 “预测结果” 的关 ...
2025-08-29