Interface automation artifact recommendation: free open source Lim interface testing platform

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:

  1. GIthub
  2. Gitee (domestic mirror image)

Main function introduction

Project home page

index

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:

api

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:
was

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:

m_envir


envir

Support Python code

Operations such as use case variable generation, expectation judgment, and execution condition setting are fully compatible with python code:

code

More flexible loop control

Loop control supports multi-layer nesting, the number of loops supports variables, and supports code form break operations:

foreach

Powerful step controller

Use case steps support delay waiting, number of retries and execution condition settings. Swapping is simple and more flexible:

controller

Step editing function

Steps support functions such as merging, copying, dragging to change sorting, and batch disabling. All in one page:
step

"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:
login

Pop-up dragging

All pop-up windows can be dragged and dropped, and the display content is more free and controllable:
drag

Three-minute quick start tutorial: click me to visit

Q&A, customized development

<<Click me to visit

docker image

making…

Development environment construction tutorial

Front-end environment

  1. install nodejs
  2. install yarn
  3. Enter the lim-web directory in the project and execute:yarn&&yarn start

backend environment

  1. python3.9+;
  2. mysql5.7+;
  3. Execute the initialized database in the project init-db.sql:
  4. Enter the LimApi directory and execute the dependency package installation command: pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple;
  5. Modify the database configuration LimApi/LimApi/settings.pyof the file DATABASES;
  6. Start the service: python manage.py runserver 0.0.0.0:8001;
  7. (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 .geventrequirements.txtpython3 -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:

  1. GIthub
  2. Gitee (domestic mirror image)

Guess you like

Origin blog.csdn.net/ml202187/article/details/129437674