接口测试|HttpRunner简介及安装

简介: 接口测试|HttpRunner简介及安装

HttpRunner简介及安装

HttpRunner简介

HttpRunner 是一款面向HTTP(S) 协议的通用测试框架,只需编写维护一份YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。

HttpRunner运行环境

  • HttpRunner 是一个基于Python 开发的测试框架,可以运行在macOS、Linux、Windows 系统平台上
  • Python 版本:HttpRunner 支持Python 3.4 及以上的所有版本,并使用Travis-CI 进行了持续集成测试,测试覆盖的版本包括2.7/3.4/3.5/3.6/3.7。虽然HttpRunner 暂时保留了对Python 2.7 的兼容支持,但强烈建议使用Python 3.4 及以上版本
  • 操作系统:推荐使用macOS/Linux

HttpRunner设计理念

  • 充分复用优秀的开源项目,不追求重复造轮子,而是将强大的轮子组装成战车
  • 遵循 约定大于配置 的准则
  • 在框架功能中融入自动化测试最佳工程实践
  • 追求投入产出比,一份投入即可实现多种测试需求

HttpRunner核心特性

  • 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求;
  • 采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性
  • 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
  • 支持完善的测试用例分层机制,充分实现测试用例的复用
  • 测试前后支持完善的 hook 机制
  • 响应结果支持丰富的校验机制
  • 基于HAR 实现接口录制和用例生成功能(har2case)
  • 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
  • 执行方式采用 CLI 调用,可与Jenkins 等持续集成工具完美结合
  • 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
  • 极强的可扩展性,轻松实现二次开发和Web平台化

在HttpRunner 自动化测试项目中,主要存在如下几类文件

  • YAML/JSON(必须):测试用例文件,一个文件对应一条测试用例
  • debugtalk.py(可选):脚本函数,存储项目中逻辑运算函数
  • 该文件存在时,将作为项目根目录定位标记,其所在目录即被视为项目工程的根目录(当前工作目录CWD)
  • 该文件不存在时,运行测试的路径将被视为当前工作目录CWD
  • 测试用例文件中的相对路径(例如.csv)均需基于当前工作目录CWD
  • 运行测试后,测试报告文件夹(reports)会生成在当前工作目录CWD
  • .env(可选):存储项目环境变量
  • .csv(可选):项目数据文件,用于进行数据驱动
  • reports(自动生成):运行后自动生成,无需创建

HttpRunner环境安装

HttpRunner是开源的一个测试框架,可以按照常规的安装Python第三方库的方式进行安装。

方法一:命令行直接安装

HttpRunner 的稳定版本托管在PyPI 上,可以使用pip进行安装。在Termina窗口中输入:pip install httprunner==2.5.7即可进行安装

方法二:Pycharm搜索安装

pycharm下载步骤:File——Settings——Python Interpreter——点击加号——输入httprunner进行匹配——选择版本号2.5.7——点击Install Package,如下图

在这里插入图片描述

HttpRunner运行步骤

1、打开pycharm,新建项目,项目名自定义(注:利用pycharm编辑yml文件)
2、在项目下新建testcases文件夹
3、在testcases文件夹下新建并编辑好.yml后缀的测试场景文件
4、在pycharm中点击下方的Terminal,输入命令httprunner yml测试脚本路径执行
相关文章
|
4天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
31 11
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3
|
2月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
67 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
77 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
51 1
|
2月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
733 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
2月前
|
测试技术 PHP 开发工具
php性能监测模块XHProf安装与测试
【10月更文挑战第13天】php性能监测模块XHProf安装与测试
34 0
|
2月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
45 0
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
263 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
273 3
快速上手|HTTP 接口功能自动化测试
下一篇
DataWorks