0


HttpRunner

HttpRunner

HttpRunner简介

HttpRunner 是一个支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议的开源的通用测试框架,涵盖接口测试、性能测试、数字体验监测等测试类型。用户通过编写YAML或JSON文档即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求,该API 测试工具简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。

HttpRunner官方文档链接

HttpRunner的特征:

  • 支持与 HAR/Postman/Swagger/Curl/JMeter 等工具对接,可使用 HAR/Postman/Swagger/curl 等生成测试用例,轻松实现用例生成和转换
  • 测试用例支持 YAML/JSON/go test/pytest 格式,可通过录制的方式快速生成用例,上手简单,使用方便,并且支持格式互相转换
  • 支持灵活的自定义函数和 hook 机制,参数变量、数据驱动、结果断言等机制一应俱全,轻松适应各种复杂场景

HttpRunner框架优点:

  • 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
  • 编写YAML或JSON格式的testcase,转译成pytestcase来运行测试
  • 使用变量/提取/验证/钩子机制,创建case和复用case
  • 重写pytest,可以利用pytest的各种插件
  • 使用allure项目生成功能丰富的报告
  • 使用jmespath,提取和验证json响应变得前所未有的简单。
  • 基于 HAR 实现接口录制和用例生成功能(har2case)

HttpRunner框架运行原理:

在这里插入图片描述

HttpRunner 会把json、yml格式的case转换成pytest用例,再使用重写的类来执行测试

HttpRunner版本对比

目前HttpRunner 已经进入到 v4.x 版本了,使用率较广的版本是HttpRunner2.x和HttpRunner3.x,每一个大版本实现思路和命令上都具有显著的差异
版本v1v2v3HttpRunner+v4发布时间2018.03.072019.01.012020.03.102021.11.182022.05.01开发语言PythonPythonPythonGolangGolang + Python网络协议HTTP(S)/1.1HTTP(S)/1.1HTTP(S)/1.1HTTP(S)/1.1多协议 HTTP(S)/HTTP2/WebSocket/TCP/RPC脚本格式类型YAML/JSONYAML/JSONYAML/JSON/pytestYAML/JSONYAML/JSON/pytest/gotest脚本格式校验❌jsonschema❌❌TODO脚本编写语法提示❌❌pytest 链式调用gotest 链式调用gotest 链式调用 + pytest 链式调用脚本执行引擎Python unittestPython unittestPython pytestGo 自研Go 自研 + Python pytest插件化语言(debugtalk.xx)PythonPythonPython多语言(Go/Python)多语言(Go/Python/Java/etc)参数提取机制regex + 点分隔符jmespath + regex + 点分隔符jmespathjmespath + regexjmespath + regexskip 机制✅❌❌❌TODO接口测试报告html 自研(jinja2)html 自研(jinja2)pytest-html/allurehtml 自研(Go template)html 自研(Go template) + *pytest-html/allure(待实现)*运行环境依赖Python 2.7/3.3+Python 2.7/3.5+Python 3.7+ pytest无需依赖Go 引擎无需依赖 pytest 引擎依赖 Python 3.7+
注:v4 中 斜体 代表当前还未支持,但计划会实现

HttpRunner v4.0 同时采用了 Golang/Python 两种编程语言,底层会有两套相对独立的执行引擎,目标是兼具 Golang 的高性能和 pytest 的丰富生态。

关键差异点对比如下:
引擎GoPython脚本类型YAML/JSON/gotestYAML/JSON/pytest网络协议多协议 HTTP(S)/HTTP2/WebSocket/TCP/RPCHTTP(S)脚手架工具hrp startproject/用例生成工具hrp har2case/脚本转换工具hrp convert/插件化语言多语言(Go/Python/*Java/etc.*)Python运行环境依赖与插件语言相关,详见依赖环境说明Python 3.7+脚本编写语法提示gotest 链式调用pytest 链式调用运行接口测试hrp runhrp pytest运行性能测试hrp boom/网络性能采集hrp run –http-stat/接口测试报告html 自研(Go template)pytest-html/allure

标签: 测试工具

本文转载自: https://blog.csdn.net/qq_44614026/article/details/127254021
版权归原作者 沉觞流年 所有, 如有侵权,请联系我们删除。

“HttpRunner”的评论:

还没有评论