foreword
The traditional solution for implementing interface automation is often to build an automation framework and write use cases through excel to drive execution, such as the common panacea technology stack combination: excel (use case writing), pytest (use case execution), allure (test report), etc.
Many companies often implement interface automation through automation frameworks rather than test platforms, mainly because the construction cost of automation frameworks is much lower than that of test platforms. But it will also be much more difficult for the maintenance of automation use cases and the difficulty of writing use cases. It can be seen that the cost of building the architecture and the cost of use case maintenance are inversely proportional to each other. And most (SME) companies don't have the time or the willingness to pay higher salaries to hire people who specialize in developing test platforms. So looking for an open source interface testing platform has also become a way. There are many test platforms, but few that actually make automation efficient. Therefore, I developed an interface test platform—Lim, based on my experience in leading the construction of multiple performance, function, UI and interface test platforms over the past few years, as well as exchanges and learning with industry giants. An efficient and automated solution.
introduce
Lim is a lightweight interface testing platform
Lim is the abbreviation of Less is More (less is more), just like its name, we hope to "make a difference" when carrying out interface testing! Let users operate less but build more efficiently. Therefore, we have made many optimizations and innovations in interaction details and some bold designs, such as: canceling local variables, pre- and post-planning, abandoning the traditional construction idea of "first interface and then use case", and even canceling "login"!
Do you have any doubts: how to carry out interface testing efficiently after removing these groups of fluff?
So what are you waiting for? Quickly enter Lim's world and see how Lim makes interface testing simple and efficient in another way!
Do you have any doubts: how to carry out interface testing efficiently after removing these groups of fluff?
So what are you waiting for? Quickly enter Lim's world and see how Lim makes interface testing simple and efficient in another way!
Online experience: http://121.43.43.59/
project address:
Main function introduction
Project home page
Powerful interface edit page
Automatic identification of parameter types, automatic management interface storage, fast backfilling of interface parameters and multiple editing modes make it easy to deal with various complex parameters:
Global parameters, execution management
The variables output by the use case are managed in a unified manner, and the source can be traced; the execution status of the use case can be controlled:
Multi-environment management
Multiple sets of environment parameters can be configured so that one set of use cases can be executed in multiple sets of service environments:
Support Python code
Operations such as use case variable generation, expectation judgment, and execution condition setting are fully compatible with python code:
More flexible loop control
Loop control supports multi-layer nesting, the number of loops supports variables, and supports code form break operations:
Powerful step controller
Use case steps support delay waiting, number of retries and execution condition settings. Swapping is simple and more flexible:
Step editing function
Steps support functions such as merging, copying, dragging to change sorting, and batch disabling. All in one page:
"No login" design
Safe operation does not require login, allowing non-use case construction personnel to view data reports and report status more quickly and conveniently, reducing redundant account management and login operations:
Pop-up dragging
All pop-up windows can be dragged and dropped, and the display content is more free and controllable:
Three-minute quick start tutorial: click me to visit
Q&A, customized development
docker image
making…
Development environment construction tutorial
Front-end environment
- install nodejs
- install yarn
- Enter the lim-web directory in the project and execute:
yarn&&yarn start
backend environment
- python3.9+;
- mysql5.7+;
- Execute the initialized database in the project
init-db.sql
: - Enter the LimApi directory and execute the dependency package installation command:
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
; - Modify the database configuration
LimApi/LimApi/settings.py
of the fileDATABASES
; - Start the service:
python manage.py runserver 0.0.0.0:8001
; - (Optional) If the operation does not involve file upload, it can not be executed: open a new cmd window and enter the FileData directory to execute the command
python3 -m http.server 8003
;
Note: Because django starts in single-threaded mode by default, the above deployment method cannot perform concurrent operations (for example: interrupt execution while the use case is executing), so the project can be started through UWSGI. For the deployment of the Linux system recommended gunicorn
+ , these two libraries have been integrated in this project, so replace the startup command with: on the Linux server .gevent
requirements.txt
python3 -m gunicorn -w 5 -k gevent -t 120 -D LimApi.wsgi -b 0.0.0.0:8006
In future versions, functions such as test reports, Swagger import, custom functions, and real-time monitoring will be added. Also consider connecting to the current popular ChatGPT or some other intelligent artificial intelligence models to do some novel functions.
In addition, the problems and bugs raised by the friends will be solved as much as possible. Let's grow together!
Open source is not easy, it all depends on love to generate electricity, if it is helpful to you, please give us a star: