RunnerGo: An Open‑Source Full‑Stack Testing Platform – Features, Architecture, and Quick‑Start Guide
RunnerGo is an Apache‑2.0 licensed full‑stack testing platform built with Go and React that provides API testing, scenario automation, performance testing, and rich reporting, and the article details its features, technology stack, architecture, installation steps, configuration files, and open‑source repositories.
RunnerGo is an open‑source full‑stack testing platform released under the Apache‑2.0 license, designed to empower developers by simplifying testing through capabilities such as API testing, scenario automation, and performance testing.
Tool features include:
Go language runtime for fast, low‑resource execution
Self‑developed intelligent scheduling algorithm to optimise server resource usage
Real‑time test reports and comprehensive chart visualisations
Live modification of concurrency, duration, and other parameters during stress tests
Real‑time logging of request/response information
Editable reports for post‑run analysis
Visual Flow scenario builder with drag‑and‑drop debugging
Multiple stress‑test modes (concurrency, ramp‑up, error‑rate, response‑time, QPS, etc.)
Integrated interface automation with rich automated reports
Technology stack:
Backend: GoLang
Frontend: React.js
Middleware: MySQL, MongoDB, Kafka, ZooKeeper, Redis
Infrastructure: Docker
Test engine: GoLang
Architecture: The platform follows a micro‑service architecture orchestrated by Docker containers, with separate services for the engine, collector, management, and supporting databases and message queues (see the architecture diagram in the original source).
Quick start – automatic installation: Run the following command to download and execute the quick‑start script:
curl -sSL https://ghproxy.com/https://gitee.com/Runner-Go-Team/RunnerGo/blob/main/quick_start.sh | bashManual installation (Linux/macOS): Prepare Docker and Docker‑Compose, download the RunnerGo source, and navigate into the project directory. The project structure includes config.env, docker-compose.yaml, and initialization scripts for MongoDB and MySQL.
Typical config.env settings (default values can usually be kept):
# Database root password
MYSQL_ROOT_PASSWORD=123456
# RunnerGo database name
MYSQL_DATABASE=runnergo
# Redis password
REDIS_PASSWD=mypassword
# MongoDB admin credentials
MONGO_INITDB_ROOT_USERNAME=root
MONGO_INITDB_ROOT_PASSWORD=root
# RunnerGo MongoDB database and user
MONGO_INITDB_DATABASE=runnergo
MONGO_INITDB_USERNAME=runnergo
MONGO_INITDB_PASSWORD=hello123456
# Max concurrency
MAX_RUNNER_CONCURRENCY=1000
# File server port (inside container)
FILE_SERVER_PORT=80
# Mongo DSN
RG_MONGO_DSN=mongodb://${MONGO_INITDB_USERNAME}:${MONGO_INITDB_PASSWORD}@mongo-db:27017/${MONGO_INITDB_DATABASE}
# Redis address
RG_REDIS_ADDRESS=redis-db:6379
# Kafka settings
RG_KAFKA_TOPIC=report
RG_KAFKA_ADDRESS=kafka:9092
RG_KAFKA_PORT=9092
RG_KAFKA_NUM=2
# Log paths
RG_ENGINE_LOG_PATH=/dev/stdout
RG_COLLECTOR_LOG_PATH=/dev/stdoutAfter adjusting config.env, modify the exposed port in docker-compose.yaml if needed (default TCP port 9999). Then start the services with: docker-compose up -d Verify that all containers are running (wait ~2 minutes) using: docker-compose ps To stop and remove the platform:
Stop: docker-compose stop Remove containers, networks, and volumes: docker-compose down -v Demo screenshots (home page, automated test report, performance test report) illustrate the UI and reporting features.
Open‑source repositories:
Official website: https://www.runnergo.com/?ver=1
GitHub: https://github.com/Runner-Go-Team/
Gitee: https://gitee.com/Runner-Go-Team
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
php Courses
php中文网's platform for the latest courses and technical articles, helping PHP learners advance quickly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
