Open-source API testing tool, supports multiple network protocols, covers interface, performance, etc. testing types

Open SourceProcess Management
2026-06-28 02:00 2 次浏览 • 0 次下载 0KB
Open-source API testing tool, supports multiple network protocols, covers interface, performance, etc. testing types

1. Project Overview

HttpRunner is an open-source API testing tool, supports HTTP(S)/HTTP2/WebSocket/RPC and other network protocols, covers interface testing, performance testing, digital experience monitoring and other types of testing. Simple and easy to use, powerful functions, rich plugin mechanism and high extensibility.

2. Open Source License

Licensed under Apache-2.0

3. Screenshots


4. Feature Overview

Design philosophy

Compared to other API testing tools, HttpRunner's biggest difference is in its design philosophy.

  • Convention over configuration: test cases are standardized and structured, with uniform formats, easy for collaboration and maintenance
  • Standard openness: based on open standards, supports integration with HAR/Postman/Swagger/Curl/JMeter and other tools, easy to generate and convert test cases
  • One-time investment, multi-dimensional reuse: a single script can support multiple API testing requirements, such as interface automation testing, performance testing, digital experience monitoring and so on
  • Integration with best engineering practices: not just a testing tool, but also integrates best engineering practices, achieving a one-stop testing solution for network protocols

Core Features

  • Network Protocol: Fully supports HTTP(S)/HTTP2/WebSocket, and can be extended to support TCP/UDP/RPC and more protocols
  • Multi-format options: Supports YAML/JSON/go test/pytest formats, and can convert between formats
  • Dual execution engines: Supports both golang/python execution engines, combining the high performance of Go and the rich ecosystem of pytest
  • Recording & Generation: Can generate test cases using HAR/Postman/Swagger/curl, and can also quickly write test cases using chain call method hints
  • Complex scenarios: Can easily create complex test scenarios using variables/extract/validate/hooks mechanisms
  • Plugin mechanism: Has a rich built-in function library, and can also write custom functions in mainstream programming languages (go/python/java) to easily implement more capabilities
  • Performance testing: Can implement stress testing without additional work; a single machine can easily support 10,000+ VUM, and can implement massive pressure testing with distributed load capabilities
  • Network performance collection: Can collect network link performance indicators (DNS resolution, TCP connection, SSL handshake, network transmission, etc.) in addition to scenario-based interface testing
  • One-key deployment: Uses a binary command-line tool for distribution, without environment dependencies, and can complete installation and deployment on macOS/Linux/Windows with a single command

User voice

Based on the statistical results of 252 survey questionnaires, the overall satisfaction rating of HttpRunner users is 4.3/5, and the most liked features include:

  • Simple and easy to use: Supports YAML/JSON standard formats for test cases, and can quickly generate test cases through recording, making it easy to get started and use
  • Powerful functions: Supports flexible custom functions and hook mechanisms, including parameter variables, data-driven, result assertions, and more, making it easy to adapt to various complex scenarios
  • Design concept: Supports hierarchical design for test case organization, with unified formats, making it easy to maintain and reuse test cases

5. Tech Stack

One-click deployment

HttpRunner binary command line tool has been uploaded to Alibaba Cloud OSS, and the following command can be executed in the system terminal to complete the installation and deployment.

$ bash -c "$(curl -ksSL https://httprunner.com/script/install.sh)"

After successful installation, you will obtain a hrp command line tool, and you can execute hrp -h to view the parameter help description.

$ hrp -h

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

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. Enjoy! ✨ ? ✨

License: Apache-2.0
Website: https://httprunner.com
Github: https://github.com/httprunner/httprunner
Copyright 2017 debugtalk

Usage:
  hrp [command]

Available Commands:
  boom         run load test with boomer
  build        build plugin for testing
  completion   generate the autocompletion script for the specified shell
  convert      convert to JSON/YAML/gotest/pytest testcases
  help         Help about any command
  pytest       run API test with pytest
  run          run API test with go engine
  startproject create a scaffold project
  wiki         visit https://httprunner.com

Flags:
  -h, --help               help for hrp
      --log-json           set log to json format
  -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.

Interface Testingis a type of testing that tests system components' interfaces. Interface testing is mainly used to detect the interaction points between external systems and systems, as well as between internal sub-systems. The focus of testing is to check data exchange, transmission, and control management processes, as well as the logical dependencies between systems.

Performance Testingis a type of testing that uses automated testing tools to simulate various normal, peak, and abnormal load conditions to test the performance indicators of a system. Load testing and stress testing are both types of performance testing, and they can be combined. Through load testing, the performance of a system under various workloads can be determined, with the goal of testing the changes in system performance indicators as the workload gradually increases. Stress testing is used to determine a system's bottleneck or unacceptable performance point, in order to obtain the maximum service level that a system can provide.

Digital Experience Monitoring (Digital Experience Monitoring, DEM)is a type of active black box monitoring. The purpose of DEM is not to capture metrics, events, traffic, or alerts from devices, but to simulate the experience of a terminal user with the infrastructure, application, or service.

DEM essentially has two levels: network and application. The former measures how the network supports the application or service, while the latter adds transactional elements at the application level, which are typically scripted (such as logging in, adding items to a digital shopping cart, etc.), to simulate how humans (or machines) perceive the performance of an application or service.

#1
资源直链https://github.com/httprunner/httprunner/archive/refs/heads/master.zip
去下载
星河码客

发现和分享优质开源项目,传承互联网精神,为开发者服务。

关于本站

联系我们

微信/广告合作:ITcloub (备注星河码客)

免责声明:本站资源版权归原作者所有,仅供学习与交流。如有侵权,请通过「关于我们 - 侵权投诉」联系删除。

Powered by Nuxt · Deployed on Cloudflare