[Open Source] An Integrated Testing Platform Combining UI, API, and Performance Testing. Simple to Use, High-Quality Testing.
![[Open Source] An Integrated Testing Platform Combining UI, API, and Performance Testing. Simple to Use, High-Quality Testing.](https://yy123.ink/api/img/1782595095089-i3cf0f.jpg)
1. Project Overview
MangoAutoTest - Mango Testing Platform
Mango Testing Platform is an integrated testing platform that combines UI, API, and performance testing. It solves common problems such as the difficulty of UI automation testing, the inconvenience of API testing tools, and insufficient concurrency in performance testing!
Easy Deployment, Simple Usage, High-Quality Testing!
2. Open Source License
Using MulanPSL-2.0 open source protocol
3. Screenshots
Product Screenshots

4. Feature Overview
UI Automation Features:
-
A keyword-driven UI automation testing platform that enables testers to perform high-quality UI automation testing without having to deal with code!
-
Based on the PO design approach, test data, page elements, and product project groups are completely separated! Test cases can freely combine multiple systems and pages!
-
Enables task separation: some testers can collect page elements, while others can focus on designing test cases and checking test execution progress.
-
Supports combined UI and API test cases, sharing browser request headers to bypass complex login decryption or third-party API calls.
API Automation Features
-
Solves the problem of API function reuse in JMeter, allowing all API automation test cases for a project to be completed on a single platform.
-
Comprehensive API dependency management supports complex workflow test cases, such as the entire process of creating products, shipping, and after-sales service on an e-commerce platform.
-
Comprehensive API assertions, supporting response assertions, database assertions, and custom assertions using Python code.
-
Supports MOCK APIs that can be called by API automation scenarios or UI automation scenarios.
-
Supports batch API uploads (Excel import), seamlessly integrating newly developed APIs into the current project to enable test-driven development!
API Performance Testing Features
-
Uses Python asynchronous and multithreaded programming to maximize the performance of testers' computers when executing concurrent tasks.
-
Distributed performance testing! Multiple execution engines can work together to perform single-API concurrency testing, easily reaching hundreds of thousands of requests per second!
-
Directly converts API automation interfaces into performance test cases, making it easy to comprehensively identify performance issues with system APIs.
Common Features:
-
System Management - Project Management: Supports custom project configurations. Different project groups can correspond to different products, with separate UI automation, API, and performance test cases configured for each product.
-
System Management - User Management: Customize user roles, bind projects, maintain automation test cases, or view defect causes.
-
System Management - Role Management: Customize different roles and assign different menus according to each role.
-
System Management - Menu Management: Assign different menus to roles.
-
Scheduled Tasks - Scheduling Policies: Customize different scheduled execution times and bind them to UI and API test case groups to automatically execute test cases on schedule!
-
Test Configuration - Test Objects: Bind different test environments to projects, making it easy to automatically switch test environments and perform multi-environment testing.
-
Test Configuration - Database Configuration: Provides database assertion functionality for API testing.
-
Test Configuration - Notification Configuration: Sends test reports and execution results to testers and developers through specified notification methods, making it easier to investigate issues! Currently supports WeCom groups and email.
5. Tech Stack
Frontend - Controller Deployment
-
Prerequisite Knowledge: This project requires a basic understanding of frontend development. Please ensure that you have mastered the fundamentals of Vue so you can handle common issues. It is recommended that you study the following technologies before development. Familiarizing yourself with these concepts in advance will greatly help you understand the project: Vue3, TypeScript, VueRouter4, ArcoDesign, ES6, Vitejs, Pinia.
-
Environment Preparation: Node Version: v16.13.1; npm Version: v6.14.5
-
Development Tool Configuration: Vetur - Essential for Vue development (Volar is also an option); ESLint - Script code linting; Prettier - Code formatting.
-
cd mango-console
-
npm install
-
npm run dev
Backend - Server Deployment
-
python >=3.10.4 django == 4.1.5
-
pip install -r requirements.txt
-
python manage.py runserver 0.0.0.0:8000
Desktop - Executor Download and Usage
-
Note: Please keep the config.yml configuration file and place it in the same directory as the Mango Executor so that it can load the configuration!
-
Note: When running, the executor automatically creates a logs directory in the current directory, where it stores execution logs and error screenshots to help troubleshoot problems.