DEV.co
Open-Source Testing · httprunner

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.

Source: GitHub — github.com/httprunner/httprunner
4.3k
GitHub stars
1.3k
Forks
Go
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryhttprunner/httprunner
Ownerhttprunner
Primary languageGo
LicenseApache-2.0 — OSI-approved
Stars4.3k
Forks1.3k
Open issues501
Latest releasev4.3.6 (2023-09-19)
Last updated2025-12-11
Sourcehttps://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.

Quickstart

Get the httprunner source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/httprunner/httprunner.gitcd httprunner# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Multi-platform UI Automation

Teams needing unified test scenarios across Android, iOS, Harmony, and web browsers without learning platform-specific frameworks. Vision-driven approach reduces brittle selector dependencies.

API & Integration Test Automation

Organizations automating HTTP/REST API testing, performance validation, and CI/CD pipeline integration with structured testcase definitions (YAML/JSON) and detailed reporting.

Enterprise Test Infrastructure

Large teams building centralized test platforms leveraging Go's binary distribution, plugin extensibility, and existing adoption by companies like DJI and miHoYo for test framework standardization.

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.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

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.

Software development agency

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.co

Related 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?
Yes, if your team can support open-source components. Established use by DJI, miHoYo, and others demonstrates viability. Lack of commercial support requires internal expertise or partner engagement.
Can I use HttpRunner with my existing Selenium/Appium tests?
Partially. The `convert` command claims to convert source formats to HttpRunner JSON/YAML/gotest. Compatibility and completeness are not detailed; evaluate conversion on your test suite.
Does HttpRunner require Python to run?
No. v5+ is Go-only and executes natively. Python support is available via `--venv` for pytest execution and custom functions, but is optional.
How is vision-driven UI automation maintained in the codebase?
Implementation details are not detailed in the README. Inspect the GitHub repository for OCR/CV/VLM integration approach, model selection, and accuracy benchmarks.

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.