mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-10 17:43:00 +08:00
merge master
This commit is contained in:
67
README.en.md
67
README.en.md
@@ -4,66 +4,21 @@
|
||||
[](https://codecov.io/gh/httprunner/httprunner)
|
||||
[](https://pkg.go.dev/github.com/httprunner/httprunner)
|
||||
[](https://pepy.tech/project/httprunner)
|
||||
[](https://pypi.python.org/pypi/httprunner)
|
||||
[](https://pypi.python.org/pypi/httprunner)
|
||||
[](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.
|
||||
|
||||

|
||||
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 的微信公众号,第一时间获得最新资讯。
|
||||
|
||||
51
README.md
51
README.md
@@ -4,56 +4,25 @@
|
||||
[](https://codecov.io/gh/httprunner/httprunner)
|
||||
[](https://pkg.go.dev/github.com/httprunner/httprunner)
|
||||
[](https://pepy.tech/project/httprunner)
|
||||
[](https://pypi.python.org/pypi/httprunner)
|
||||
[](https://pypi.python.org/pypi/httprunner)
|
||||
[](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)
|
||||
|
||||

|
||||
`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
|
||||
|
||||
@@ -1 +1 @@
|
||||
v5.0.0-beta-2504031520
|
||||
v5.0.0-beta-2504091352
|
||||
|
||||
Reference in New Issue
Block a user