httprunner
HttpRunner is an open-source test automation framework written in Go that supports API testing, UI automation (Android/iOS/Harmony/Browser), and load testing. It uses vision-driven approaches (OCR/CV/VLM) and provides a unified API across multiple platforms with CLI tooling and plugin extensibility.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | httprunner/httprunner |
| Owner | httprunner |
| Primary language | Go |
| License | Apache-2.0 — OSI-approved |
| Stars | 4.3k |
| Forks | 1.3k |
| Open issues | 501 |
| Latest release | v4.3.6 (2023-09-19) |
| Last updated | 2025-12-11 |
| Source | https://github.com/httprunner/httprunner |
What httprunner is
Go-based testing framework with a binary CLI (`hrp`) supporting HTTP(S)/HTTP2/WebSocket/RPC APIs, UI automation via vision models, concurrent load testing integration (boomer), plugin system for custom functions, and distributed testing. Offers YAML/JSON/GoTest/pytest testcase formats with CI/CD-friendly JSON logs and HTML reporting.
Get the httprunner source
Clone the repository and explore it locally.
git clone https://github.com/httprunner/httprunner.gitcd httprunner# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Go binary installation required; ensure build pipeline and CI/CD systems can fetch and execute Go-compiled artifacts.
- Vision-driven UI automation (OCR/CV/VLM) introduces dependencies on ML model accuracy and may require tuning for complex or non-standard UI layouts.
- Plugin system uses HashiCorp plugin protocol or Go plugins; custom function development requires Go knowledge or Python subprocess wrapping.
- Testcase format flexibility (YAML/JSON/GoTest/pytest) supports gradual adoption but requires team alignment on preferred format to avoid fragmentation.
- No built-in distributed execution framework; scale-out requires external orchestration or custom implementation.
When to avoid it — and what to weigh
- Heavy Reliance on Enterprise Support — No indication of commercial support contracts or SLA guarantees. Project is community-driven; critical production issues rely on open-source response timelines.
- Python-Only Ecosystem Requirement — v5+ is Go-only. Python version migrated to separate repo (httprunner.py). If your stack requires native Python integration without subprocess calls, this presents friction.
- Windows-First Development — While claimed as cross-platform, primary development and documentation appear to favor macOS/Linux. Windows-specific issues may have longer resolution times.
- Real-time Load Testing at Scale — Uses boomer for concurrency; not designed as a distributed load testing platform comparable to JMeter or Locust. Suitable for moderate concurrent scenarios only.
License & commercial use
Licensed under Apache License 2.0 (SPDX: Apache-2.0), an OSI-approved permissive license allowing commercial use, modification, and distribution with liability and trademark disclaimers.
Apache-2.0 permits commercial use without royalties. However, no warranty or support SLA is provided. Organizations should review the LICENSE file and consult legal counsel for liability assumptions. Use as a testing tool in commercial products is permissible; redistribution of modified versions requires license notice.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
No explicit security audit or hardening claims provided. Plugin system and subprocess execution (for Python) should be evaluated for injection risks in untrusted testcase scenarios. Vision-driven UI automation (OCR/VLM) processes screen images; assess data sensitivity if testing sensitive applications. Standard Go binary security practices apply (vendor lock-in unlikely); review supply chain for dependencies.
Alternatives to consider
Cypress / Playwright
Browser automation is mature and JavaScript-native; better for web-only scenarios. Larger community and enterprise backing (Microsoft, Applitools). No multi-platform UI support.
Appium
Established cross-platform mobile automation (iOS/Android via WebDriver standard). Larger ecosystem and commercial support. Less API-testing-first; vision-driven approach is HttpRunner's differentiator.
JMeter / k6
Purpose-built load and performance testing with larger communities. JMeter has extensive GUI and plugins; k6 is modern and code-as-config. Not suitable for UI automation or multi-platform test consolidation.
Build on httprunner with DEV.co software developers
Review the GitHub repository, test conversion compatibility with your existing testcases, and assess vision-driven UI automation fit for your platform targets. Consult internal Go expertise or explore community forums for integration support.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
httprunner FAQ
Is HttpRunner suitable for enterprise production use?
Can I use HttpRunner with my existing Selenium/Appium tests?
Does HttpRunner require Python to run?
How is vision-driven UI automation maintained in the codebase?
Software development & web development with DEV.co
Need help beyond evaluating httprunner? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source testing integrations — and maintain them long-term.
Evaluate HttpRunner for Your Test Automation Stack
Review the GitHub repository, test conversion compatibility with your existing testcases, and assess vision-driven UI automation fit for your platform targets. Consult internal Go expertise or explore community forums for integration support.