Go to file
lilong.129 7da305f577 refactor: ui-tars planner 2025-03-19 17:48:13 +08:00
.github fix: hrp path 2025-03-07 23:13:08 +08:00
cmd feat: add GitCommit/GitBranch/BuildTime in version info 2025-03-17 20:40:03 +08:00
code refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
convert fix: convert tests 2025-03-05 22:28:46 +08:00
docs refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
examples refactor: move uixt pkg 2025-03-05 11:04:02 +08:00
internal refactor: ui-tars planner 2025-03-19 17:48:13 +08:00
pkg change: use context to contral ScreenRecord timeout or cancel 2025-03-06 22:16:49 +08:00
planner refactor: ui-tars planner 2025-03-19 17:48:13 +08:00
scripts feat: add GitCommit/GitBranch/BuildTime in version info 2025-03-17 20:40:03 +08:00
server refactor: move uixt ext to EvalTools 2025-03-14 10:55:46 +08:00
tests change: replace with assert err nil 2025-03-05 22:33:17 +08:00
uixt change: add logs 2025-03-17 20:16:22 +08:00
.gitignore feat: add ui-tars planner 2025-03-19 00:09:16 +08:00
Dockerfile change: update for v4.1.2 2022-06-09 23:50:04 +08:00
LICENSE update licence 2018-12-17 18:40:26 +08:00
Makefile feat: add GitCommit/GitBranch/BuildTime in version info 2025-03-17 20:40:03 +08:00
README.en.md change: introduction for httprunner 2025-03-08 00:14:30 +08:00
README.md change: introduction for httprunner 2025-03-08 00:14:30 +08:00
build.go refactor: move tests 2025-03-05 11:47:08 +08:00
compat.go refactor: move uixt pkg 2025-03-05 11:04:02 +08:00
config.go refactor: move tests 2025-03-05 11:47:08 +08:00
go.mod change: downgrade to go 1.22 2025-03-07 12:00:46 +08:00
go.sum move ghdc to pkg 2025-03-05 21:33:06 +08:00
loader.go refactor: move tests 2025-03-05 11:47:08 +08:00
logger.go refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
parameters.go refactor: move tests 2025-03-05 11:47:08 +08:00
parser.go refactor: move tests 2025-03-05 11:47:08 +08:00
parser_test.go fix: unittests 2025-03-05 22:08:03 +08:00
plugin.go fix: init plugin 2025-03-05 19:39:18 +08:00
runner.go refactor: move tests 2025-03-05 11:47:08 +08:00
step.go refactor: move uixt pkg 2025-03-05 11:04:02 +08:00
step_api.go refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
step_function.go refactor: move tests 2025-03-05 11:47:08 +08:00
step_rendezvous.go refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
step_request.go refactor: move tests 2025-03-05 11:47:08 +08:00
step_request_response.go refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
step_shell.go refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
step_testcase.go refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
step_thinktime.go refactor: move tests 2025-03-05 11:47:08 +08:00
step_transaction.go refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00
step_ui.go fix: unittests 2025-03-05 18:10:41 +08:00
step_websocket.go fix: websocket 2025-03-05 18:11:00 +08:00
summary.go refactor: move uixt pkg 2025-03-05 11:04:02 +08:00
testcase.go refactor: move hrp/ to root folder 2025-02-06 11:03:41 +08:00

README.en.md

HttpRunner

Github Actions codecov Go Reference downloads pypi version pyversions TesterHome

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 用户调研问卷 持续收集中,我们将基于用户反馈动态调整产品特性和需求优先级。

flow chart

CHANGELOG | 中文

Key Features

API Testing

  • Full support for HTTP(S)/1.1 and HTTP/2 requests.
  • Support more protocols, WebSocket, TCP, RPC etc.
  • Testcases can be described in multiple formats, YAML/JSON/Golang, and they are interchangeable.
  • Use Charles/Fiddler/Chrome/etc to record HTTP requests and generate testcases from exported HAR.
  • Supports variables/extract/validate/hooks mechanisms to create extremely complex test scenarios.
  • 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.
  • Create and call custom functions with plugin mechanism, support hashicorp plugin and go plugin.
  • Generate html reports with rich test results.
  • 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.

  • Inherit all powerful features of locust and boomer.
  • Report performance metrics to prometheus pushgateway.
  • Use transaction to define a set of end-user actions that represent the real user activities.
  • Use rendezvous points to force Vusers to perform tasks concurrently during test execution.
  • 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 -c "$(curl -ksSL https://httprunner.com/script/install.sh)"

Then you will get a hrp CLI tool.

$ hrp -h

██╗  ██╗████████╗████████╗██████╗ ██████╗ ██╗   ██╗███╗   ██╗███╗   ██╗███████╗██████╗
██║  ██║╚══██╔══╝╚══██╔══╝██╔══██╗██╔══██╗██║   ██║████╗  ██║████╗  ██║██╔════╝██╔══██╗
███████║   ██║      ██║   ██████╔╝██████╔╝██║   ██║██╔██╗ ██║██╔██╗ ██║█████╗  ██████╔╝
██╔══██║   ██║      ██║   ██╔═══╝ ██╔══██╗██║   ██║██║╚██╗██║██║╚██╗██║██╔══╝  ██╔══██╗
██║  ██║   ██║      ██║   ██║     ██║  ██║╚██████╔╝██║ ╚████║██║ ╚████║███████╗██║  ██║
╚═╝  ╚═╝   ╚═╝      ╚═╝   ╚═╝     ╚═╝  ╚═╝ ╚═════╝ ╚═╝  ╚═══╝╚═╝  ╚═══╝╚══════╝╚═╝  ╚═╝

HttpRunner: Enjoy your All-in-One Testing Solution ✨ 🚀 ✨

💡 Simple Yet Powerful
   - Natural language driven test scenarios powered by LLM
   - User-friendly SDK API with IDE auto-completion
   - Intuitive GoTest/YAML/JSON/Text testcase format

📌 Comprehensive Testing Capabilities
   - UI Automation: Android/iOS/Harmony/Browser
   - API Testing: HTTP(S)/HTTP2/WebSocket/RPC
   - Load Testing: run API testcase concurrently with boomer

🧩 High Scalability
   - Plugin system for custom functions
   - Distributed testing support
   - Cross-platform: macOS/Linux/Windows

🛠 Easy Integration
   - CI/CD friendly with JSON logs and HTML reports
   - Rich ecosystem tools

Learn more:
Website: https://httprunner.com
GitHub: https://github.com/httprunner/httprunner

Copyright © 2017-present debugtalk. Apache-2.0 License.

Usage:
  hrp [command]

Available Commands:
  adb          simple utils for android device management
  build        build plugin for testing
  completion   Generate the autocompletion script for the specified shell
  convert      convert multiple source format to HttpRunner JSON/YAML/gotest/pytest cases
  help         Help about any command
  ios          simple utils for ios device management
  pytest       run API test with pytest
  run          run API test with go engine
  server       start hrp server
  startproject create a scaffold project
  wiki         visit https://httprunner.com

Flags:
  -h, --help               help for hrp
      --log-json           set log to json format (default colorized console)
  -l, --log-level string   set log level (default "INFO")
      --venv string        specify python3 venv path
  -v, --version            version for hrp

Use "hrp [command] --help" for more information about a command.

User Cases

Sponsor

霍格沃兹测试开发学社

霍格沃兹测试开发学社是中国软件测试开发高端教育品牌,产品由国内顶尖软件测试开发技术专家携手打造,为企业与个人提供专业的技能培训与咨询、测试工具与测试平台、测试外包与测试众包服务。领域涵盖 App/Web 自动化测试、接口自动化测试、性能测试、安全测试、持续交付/DevOps、测试左移、测试右移、精准测试、测试平台开发、测试管理等方向。-> 联系我们

Subscribe

关注 HttpRunner 的微信公众号,第一时间获得最新资讯。

HttpRunner