[Open Source] A lightweight API testing platform that helps users achieve more with fewer operations and greater efficiency
![[Open Source] A lightweight API testing platform that helps users achieve more with fewer operations and greater efficiency](https://yy123.ink/api/img/1782589660294-durqnp.jpg)
1. Project Overview
Lightweight API Testing Platform
Lim is short for Less is More. As its name suggests, we hope to achieve more with less effort when conducting API testing! Our goal is to reduce the number of operations required from users while improving development efficiency. To achieve this, we have optimized and innovated many interaction details and introduced several bold design choices, such as eliminating local variables and pre- and post-execution plans, abandoning the traditional "API first, test case second" development approach, and even removing the need to "log in"!
2. Open Source License
Licensed under Apache-2.0
3. Screenshots







4. Feature Overview
Main Features
Project Homepage

Powerful API Editing Page
Automatic parameter type detection, automatic management and storage of APIs, quick parameter autofill, and multiple editing modes make handling all kinds of complex parameters effortless:

Parameter Pool and Execution Control
Variables output by test cases and globally defined parameters are displayed and managed in one place, making all parameters easy to view and their sources traceable. Test case execution status can be controlled:

Multi-Environment Management
Configure multiple sets of environment parameters so that the same test cases can run across multiple service environments:

Python Code Support
Operations such as test case variable generation, expected result validation, and execution condition configuration are fully compatible with Python code:

More Flexible Loop Control
Loop control supports multiple levels of nesting. The number of iterations can be specified using variables, and break operations can also be performed through code:

Powerful Step Controller
Test case steps support delayed waiting, retry count configuration, and execution condition settings. Switching between steps is simple and more flexible:

Step Editing Features
Steps support merging, copying, drag-and-drop reordering, batch disabling, and other features. Everything is available on one page:

"Login-Free" Design
Secure operations do not require login, making it faster and easier for users who do not create test cases to view data dashboards and reports, while reducing unnecessary account management and login operations:

Draggable Pop-up Windows
All pop-up windows can be dragged, providing greater freedom and control over displayed content:

5. Tech Stack
Frontend: react+ant-design
Backend: python3+django
Development Environment Setup Tutorial
Front-end Environment
- Install nodejs (version 16 is recommended; version 18 may cause errors: Error Resolution)
- Install yarn
- Navigate to the lim-web directory in the project and execute:yarn&&yarn start
- Note: Once the application is started, it can be used directly without deploying the backend service because the API request address is configured to use the demo server. To change it, modify the following file:src/utils/constant.tsinHOST_SERVER:
Backend Environment
- python3.9+;
- mysql5.7+;
- Navigate to the following directory in the project:init-db.sqlInitialize the database:
- Navigate to the LimApi directory and execute the dependency installation command:pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple;
- ModifyLimApi/LimApi/settings.pytheDATABASESdatabase configuration in the file;
- Start the service:python manage.py runserver 0.0.0.0:8001;
- (Optional) If file upload operations are not required, this step can be skipped: Open a new cmd window, navigate to the FileData directory, and execute the commandpython3 -m http.server 8003;
Note: Django runs in single-threaded mode by default, so the deployment method described above does not support concurrent operations (for example, interrupting execution while a test case is running). Therefore, you can use UWSGI to start the project. For Linux systems, we recommend deploying withgunicorn+gevent. The following two libraries have already been integrated into this project:requirements.txt. Therefore, on a Linux server, simply replace the startup command with:python3 -m gunicorn -w 5 -k gevent -t 120 -D LimApi.wsgi -b 0.0.0.0:8006 and you are ready to go.