[Open Source] An Efficient and Reliable Automated Testing Platform That Improves Efficiency and Reduces Testing Costs
![[Open Source] An Efficient and Reliable Automated Testing Platform That Improves Efficiency and Reduces Testing Costs](https://yy123.ink/api/img/1782589743155-9i8zot.jpg)
1. Project Overview

Yangfan Testing Platform
Yangfan Testing Platform is an efficient and reliable automated testing platform designed to help teams improve testing efficiency and reduce testing costs. The platform includes functional modules such as test case management, scheduled tasks, and execution records. It supports multiple types of test cases, currently including API testing (HTTP and gRPC protocols) and performance testing. It is also customizable and flexible enough to meet the needs of different scenarios. The test case management module supports basic operations such as uploading, editing, copying, and deleting test cases, as well as advanced features such as batch execution and concurrent execution. Through test case settings, users can configure basic information, runtime settings, environment variables, and other parameters to flexibly control test execution. The scheduled task module supports referencing one or more test cases for automatic execution, with features such as concurrent execution and task tags. CI/CD integration is planned for future releases to enable fully automated testing workflows. Yangfan Testing Platform also provides an execution records module that records test case results and supports viewing detailed information such as test reports and execution logs, making it easier to analyze and optimize test results.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots








4. Feature Overview
Supported Features
- User Management
- Project Management
- Environment Management
- API Management
- Test Case Management
- Data Transfer Between Test Cases: Request Header and Parameter Export
- Scheduled Tasks
- Run Scheduled Tasks by Tags (Can Be Used for Full Regression Testing During Releases)
- Concurrent Execution of Scheduled Tasks. Configure the concurrency level based on your needs to reduce waiting time
- Generate Test Reports
- 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
- Data-Driven Testing with parameterize
- Python Function-Driven Testing
- SQL Operations Supported
- Visual Data Reports
- Data-Driven Testing with parameterize and Page Operations
- Go Function-Driven Testing
- Support for More Protocols, Including WebSocket, TCP, RPC, and Others
- Supported Protocols: HTTP/2, gRPC
- Support Test Case Import from JSON, Postman, Swagger, and Other Formats
- Performance Testing
- Web UI Automated Testing
5. Tech Stack
- The frontend and backend are built on gin-vue-admin v2.5.3, a full-stack development platform based on Gin + Vue.
- The testing engine uses HttpRunner V4, supporting network protocols such as HTTP(S)/HTTP2/WebSocket/RPC and covering testing types including API testing, performance testing, and digital experience monitoring. It is easy to use, feature-rich, and offers an extensive plugin mechanism and high extensibility.
- Integrating HttpRunner V4 into the Testing Platform
Deployment Method
Environment Setup: 1. Create a new database and import the docs/sql/yangfan.sql file. 2. Modify the MySQL database and Feishu login (fs) configurations in server/config.yaml. 3. Configure VITE_FS_LOGIN and VITE_FS_APP_ID in web/.env.development and web/.env.production. 4. Administrator account: yangfan, Password: 123456
Local Debugging
Project Deployment
Frontend
Run npm run build in the web directory to generate the dist folder. Upload the dist folder to the server. Nginx is recommended for reverse proxy configuration. Set up a proxy to forward requests to the backend.
Backend
For the first installation and startup, the Linux environment may lack pip required by HttpRunner, so steps 2–4 must be performed. For subsequent installations, only step 1 is required.
Run the start_server.sh script, with config pointing to config.production.yaml in the root directory. Open API Management and execute any one of the following modules once: API Management, Test Suites, Test Cases, or Scheduled Tasks. Then run the following command in the ./docs directory:
/root/.hrp/venv/bin/python3 get-pip.py Restart the service
Nginx Configuration
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/nginx/html/dist;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
try_files $uri $uri/ /index.html;
}
location /api {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
rewrite ^/api/(.*)$ /$1 break; # Rewrite
proxy_pass [http://127.0.0.1:8888](http://127.0.0.1:8888); # Set the proxy server protocol and address
}
location /form-generator {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http\://127.0.0.1:8888;
}
location /api/swagger/index.html {
proxy_pass [http://127.0.0.1:8888/swagger/index.html;
](http://127.0.0.1:8888/swagger/index.html;
) }
}