作者:星安果
来源: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 最基本的使用方法
数据分析咨询请扫描二维码
数据挖掘是现代企业利用数据驱动决策的重要工具。它涉及从大量数据中提取隐藏的、先前未知但潜在有用的信息,依托人工智能、机器 ...
2024-10-23在当前数据驱动的商业环境中,数据分析师的角色变得越来越重要。想要踏入这一领域并取得成功,不仅需要扎实的技术基础,还需要不 ...
2024-10-23数据分析是一个广泛而又精细的领域,它结合了统计学、计算机科学、商业策略以及数据科学等多个学科的知识。这个领域日新月异的发 ...
2024-10-23在现代企业中,数字化管理师扮演着至关重要的角色。他们不仅帮助企业优化资源配置,还推动企业的数字化转型。要成为一名合格的数 ...
2024-10-23大数据专业是一个跨学科的领域,涵盖了数学、统计学、计算机科学与技术等多个学科。随着数据在各个行业中的重要性日益增加,大数 ...
2024-10-23大数据分析师培训教程-2.1 Hadoop入门-Hadoop 1.0 的局限与 Hadoop 2.0(YARN)的革新 Hadoop简介Hadoop 的生态系统HDFS 的原理 ...
2024-10-232024,您是否渴望在数据领域探索更广阔的职业机遇? 数字化时代,数据量级每年都在呈指数级增长。据统计,全球互联网用户每天产 ...
2024-10-21数据科学专业是一门跨学科的综合性学科,涵盖了数学、统计学、计算机科学等多个领域。其核心目标是通过数据的收集、处理和分析来 ...
2024-10-21Python是一种高级解释性编程语言,由Guido van Rossum于1991年创造。凭借其简单易学、代码可读性强和功能强大的特点,Python已经 ...
2024-10-21在当今数据驱动的世界中,选择学习Hadoop已成为许多数据分析师和IT专业人士的必修课。Hadoop不仅是大数据处理领域的核心技术之一 ...
2024-10-21数据开发工程师在当今数据驱动的世界中扮演着至关重要的角色。他们不仅负责数据的采集和处理,还在数据仓库建设、系统开发和数据 ...
2024-10-20在当今快速变化的数字经济时代,数字化转型已经成为企业实现持续增长和竞争优势的关键。数字化转型不仅仅是技术的变革,更是组织 ...
2024-10-19在当今快速发展的科技时代,数字经济已成为全球经济的重要组成部分。选择数字经济专业,不仅能为你打开通往多个行业的大门,还能 ...
2024-10-18学习统计学与大数据分析具有显著的优势,能够帮助你走向高薪岗位。在数字化时代背景下,统计学和大数据分析展现出强大的就业潜力 ...
2024-10-18在当今的数字时代,数据科学与大数据技术专业的就业方向极为广泛,涵盖了多个领域和岗位。随着数据成为企业决策的重要依据,行业 ...
2024-10-18大数据技术与应用领域正在迅速发展,成为现代经济和科技发展的重要驱动力。随着数据量的爆炸式增长,各行各业对大数据专业人才的 ...
2024-10-18在当今数据驱动的商业环境中,数据分析软件已成为企业决策过程中不可或缺的工具。随着数据量的激增和分析需求的复杂化,选择合适 ...
2024-10-18在当今数据驱动的世界中,数据分析已成为许多行业不可或缺的一部分。无论是企业决策、市场营销,还是产品开发,数据分析都能提 ...
2024-10-18数据分析在现代企业中扮演着至关重要的角色,帮助企业在竞争激烈的市场中做出明智的决策。随着数据量的不断增长,企业需要依赖先 ...
2024-10-18CDA(Certified Data Analyst)认证在数据分析领域具有显著的作用,具体包括以下几个方面: 1. 专业技能认可 CDA认证是数据分析 ...
2024-10-17