merge master

This commit is contained in:
lilong.129
2025-04-09 13:52:12 +08:00
3 changed files with 19 additions and 101 deletions

View File

@@ -4,66 +4,21 @@
[![codecov](https://codecov.io/gh/httprunner/httprunner/branch/master/graph/badge.svg)](https://codecov.io/gh/httprunner/httprunner)
[![Go Reference](https://pkg.go.dev/badge/github.com/httprunner/httprunner.svg)](https://pkg.go.dev/github.com/httprunner/httprunner)
[![downloads](https://pepy.tech/badge/httprunner)](https://pepy.tech/project/httprunner)
[![pypi version](https://img.shields.io/pypi/v/httprunner.svg)](https://pypi.python.org/pypi/httprunner)
[![pyversions](https://img.shields.io/pypi/pyversions/httprunner.svg)](https://pypi.python.org/pypi/httprunner)
[![TesterHome](https://img.shields.io/badge/TTF-TesterHome-2955C5.svg)](https://testerhome.com/github_statistics)
`HttpRunner` is an open source API testing tool that supports HTTP(S)/HTTP2/WebSocket/RPC network protocols, covering API testing, performance testing and digital experience monitoring (DEM) test types. Simple and easy to use, powerful, with rich plug-in mechanism and high scalability.
> ⚠️ HttpRunner v5 only includes the Golang version, and the Python version of the code has been migrated to [httprunner/httprunner.py](https://github.com/httprunner/httprunner.py)
> HttpRunner [用户调研问卷][survey] 持续收集中,我们将基于用户反馈动态调整产品特性和需求优先级。
`HttpRunner` (also known as hrp) is an open-source testing framework that was born in 2017. Initially, it was used for API interface and performance testing, and later evolved into a versatile and extensible testing framework.
![flow chart](https://httprunner.com/image/hrp-flow.jpg)
In 2022, HttpRunner began to support UI automation testing, currently supporting multiple system platforms such as Android/iOS/Harmony/Browser, and integrated large model technology in v5.
[CHANGELOG] | [中文]
Compared to other UI automation frameworks, HttpRunner's main features include:
## Key Features
### API Testing
- [x] Full support for HTTP(S)/1.1 and HTTP/2 requests.
- [ ] Support more protocols, WebSocket, TCP, RPC etc.
- [x] Testcases can be described in multiple formats, `YAML`/`JSON`/`Golang`, and they are interchangeable.
- [x] Use Charles/Fiddler/Chrome/etc to record HTTP requests and generate testcases from exported [`HAR`][HAR].
- [x] Supports `variables`/`extract`/`validate`/`hooks` mechanisms to create extremely complex test scenarios.
- [x] Data driven with `parameterize` mechanism, supporting sequential/random/unique strategies to select data.
- [ ] Built-in 100+ commonly used functions for ease, including md5sum, max/min, sleep, gen_random_string etc.
- [x] Create and call custom functions with `plugin` mechanism, support [hashicorp plugin] and [go plugin].
- [x] Generate html reports with rich test results.
- [x] Using it as a `CLI tool` or a `library` are both supported.
### Load Testing
Base on the API testing testcases, you can run professional load testing without extra work.
- [x] Inherit all powerful features of [`locust`][locust] and [`boomer`][boomer].
- [x] Report performance metrics to [prometheus pushgateway][pushgateway].
- [x] Use `transaction` to define a set of end-user actions that represent the real user activities.
- [x] Use `rendezvous` points to force Vusers to perform tasks concurrently during test execution.
- [x] Load testing with specified concurrent users or constant RPS, also supports spawn rate.
- [ ] Support mixed-scenario testing with custom weight.
- [ ] Simulate browser's HTTP parallel connections.
- [ ] IP spoofing.
- [ ] Run in distributed mode to generate unlimited RPS.
### Digital Experience Monitoring (DEM)
You can also monitor online services for digital experience assessments.
- [ ] HTTP(S) latency statistics including DNSLookup, TCP connections, SSL handshakes, content transfers, etc.
- [ ] `ping` indicators including latency, throughput and packets loss.
- [ ] traceroute
- [ ] DNS monitoring
## Install
You can install HttpRunner via one curl command.
```bash
$ bash -c "$(curl -ksSL https://httprunner.com/script/install.sh)"
```
Then you will get a `hrp` CLI tool.
- Pure visual-driven solution (OCR/CV/LLM), pursuing universality and minimal performance loss
- Unified API across multiple platforms, reducing learning and horizontal expansion costs
- Embracing the open-source ecosystem, fully reusing open-source components
## Usage
```text
$ hrp -h
@@ -134,12 +89,6 @@ Use "hrp [command] --help" for more information about a command.
<a href="https://httprunner.com/docs/cases/umcare"><img src="https://httprunner.com/image/logo/umcare.png" title="通用环球医疗 - 使用 HttpRunner 实践接口自动化测试" width="100"></a>
<a href="https://httprunner.com/docs/cases/mihoyo"><img src="https://httprunner.com/image/logo/miHoYo.png" title="米哈游 - 基于 HttpRunner 搭建接口自动化测试体系" width="100"></a>
## Sponsor
[<img src="https://testing-studio.com/img/icon.png" alt="霍格沃兹测试开发学社" width="500">](https://qrcode.testing-studio.com/f?from=HttpRunner&url=https://testing-studio.com/)
> 霍格沃兹测试开发学社是中国软件测试开发高端教育品牌,产品由国内顶尖软件测试开发技术专家携手打造,为企业与个人提供专业的技能培训与咨询、测试工具与测试平台、测试外包与测试众包服务。领域涵盖 App/Web 自动化测试、接口自动化测试、性能测试、安全测试、持续交付/DevOps、测试左移、测试右移、精准测试、测试平台开发、测试管理等方向。-> [**联系我们**](http://qrcode.testing-studio.com/f?from=HttpRunner&url=https://ceshiren.com/t/topic/23745)
## Subscribe
关注 HttpRunner 的微信公众号,第一时间获得最新资讯。

View File

@@ -4,56 +4,25 @@
[![codecov](https://codecov.io/gh/httprunner/httprunner/branch/master/graph/badge.svg)](https://codecov.io/gh/httprunner/httprunner)
[![Go Reference](https://pkg.go.dev/badge/github.com/httprunner/httprunner.svg)](https://pkg.go.dev/github.com/httprunner/httprunner)
[![downloads](https://pepy.tech/badge/httprunner)](https://pepy.tech/project/httprunner)
[![pypi version](https://img.shields.io/pypi/v/httprunner.svg)](https://pypi.python.org/pypi/httprunner)
[![pyversions](https://img.shields.io/pypi/pyversions/httprunner.svg)](https://pypi.python.org/pypi/httprunner)
[![TesterHome](https://img.shields.io/badge/TTF-TesterHome-2955C5.svg)](https://testerhome.com/github_statistics)
`HttpRunner` 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型。简单易用,功能强大,具有丰富的插件化机制和高度的可扩展能力。
> ⚠️ HttpRunner v5 仅包含 Golang 版本Python 版本的代码已迁移至 [httprunner/httprunner.py](https://github.com/httprunner/httprunner.py)
![flow chart](https://httprunner.com/image/hrp-flow.jpg)
`HttpRunner`(简称 hrp 是一个开源测试框架,诞生于 2017 年,最开始应用于 API 接口、性能测试,后面逐步进化为了一款通用、可拓展的测试框架。
[版本发布日志] | [English]
在 2022 年HttpRunner 开始新增支持 UI 自动化测试,当前已经支持了 Android/iOS/Harmony/Browser 多种系统平台,并在 v5 版本融入了大模型技术。
## 设计理念
HttpRunner 相比其它 UI 自动化框架,主要特点包括:
相比于其它 API 测试工具HttpRunner 最大的不同在于设计理念。
- 采用纯视觉驱动方案OCR/CV/LLM追求通用性和尽可能低的性能损耗
- 多端统一 API降低学习和横向拓展的成本
- 拥抱开源生态,充分复用开源组件
- 约定大于配置:测试用例是标准结构化的,格式统一,方便协作和维护
- 标准开放:基于开放的标准,支持与 [HAR]/Postman/Swagger/Curl/JMeter 等工具对接,轻松实现用例生成和转换
- 一次投入多维复用:一套脚本可同时支持接口自动化测试、性能测试、数字体验监测等多种 API 测试需求
- 融入最佳工程实践:不仅仅是一款测试工具,在功能中融入最佳工程实践,实现面向网络协议的一站式测试解决方案
[HttpRunner v5 用户指南(更新中)](https://debugtalk.feishu.cn/wiki/RqGuw17bsizGTik9WuNcGQyhnaf)
## 核心特性
## 使用说明
- 网络协议:完整支持 HTTP(S)/HTTP2/WebSocket可扩展支持 TCP/UDP/RPC 等更多协议
- 多格式可选:测试用例支持 YAML/JSON/go test/pytest 格式,并且支持格式互相转换
- 双执行引擎:同时支持 golang/python 两个执行引擎,兼具 go 的高性能和 [pytest] 的丰富生态
- 录制 & 生成:可使用 [HAR]/Postman/Swagger/curl 等生成测试用例;基于链式调用的方法提示也可快速编写测试用例
- 复杂场景:基于 variables/extract/validate/hooks 机制可以方便地创建任意复杂的测试场景
- 插件化机制内置丰富的函数库同时可以基于主流编程语言go/python/java编写自定义函数轻松实现更多能力
- 性能测试:无需额外工作即可实现压力测试;单机可轻松支撑 `1w+` VUM结合分布式负载能力可实现海量发压
- 网络性能采集在场景化接口测试的基础上可额外采集网络链路性能指标DNS 解析、TCP 连接、SSL 握手、网络传输等)
- 一键部署:采用二进制命令行工具分发,无需环境依赖,一条命令即可在 macOS/Linux/Windows 快速完成安装部署
## 用户声音
基于 252 份调研问卷的统计结果HttpRunner 用户的整体满意度评分 `4.3/5`,最喜欢的特性包括:
- 简单易用:测试用例支持 YAML/JSON 标准化格式,可通过录制的方式快速生成用例,上手简单,使用方便
- 功能强大:支持灵活的自定义函数和 hook 机制,参数变量、数据驱动、结果断言等机制一应俱全,轻松适应各种复杂场景
- 设计理念:测试用例组织支持分层设计,格式统一,易于实现测试用例的维护和复用
更多内容详见 [HttpRunner 首轮用户调研报告2022.02][user-survey-report]
## 一键部署
HttpRunner 二进制命令行工具已上传至阿里云 OSS在系统终端中执行如下命令可完成安装部署。
```bash
$ bash -c "$(curl -ksSL https://httprunner.com/script/install.sh)"
```
安装成功后,你将获得一个 `hrp` 命令行工具,执行 `hrp -h` 即可查看到参数帮助说明。
HttpRunner v5 安装完成后,你将获得一个 `hrp` 命令行工具,执行 `hrp -h` 即可查看到参数帮助说明。
```text
$ hrp -h

View File

@@ -1 +1 @@
v5.0.0-beta-2504031520
v5.0.0-beta-2504091352