一款接口自动化神器—开源接口测试平台Lim(Less is More)

## 前言

对于传统的实现接口自动化的方案往往是搭建自动化框架,通过excel编写用例来驱动执行,例如常见的万金油技术栈组合:excel(编写用例)、pytest(用例执行)、allure(测试报告)等。

很多公司往往是通过自动化框架而非测试平台来实现接口自动化,主要是自动化框架相对于测试平台的建设成本会低很多。 但对于自动化用例的维护、及编写用例的上手难度来讲同样会更难不少。可以看到,建设架构的成本和用例维护成本是一个成反比的关系。而且大多(中小型企业)公司也没有时间或愿意花较高的薪资聘请专门开发测试平台的人员。所以寻找开源的接口测试平台也成为了一个办法。测试平台有很多,但真正能让开展自动化变得高效的却很少。所以,我结合自己这数年间主导建设多个性能、功能、UI及接口测试平台的经验,以及跟行业大厂的交流学习开发了一款接口测试平台—Lim,妄图通过自己的理解来提供一种高效自动化的解决方案。

---

## 介绍

### Lim是一款轻量级的接口测试平台

Lim是Less is More(少即是多)的缩写,如它的名字一样我们希望用户在开展接口测试时所需的操作更少,但建设效率更高、实现的功能更多。因此我们做了许多交互细节上的优化和创新以及一些大胆的设计,比如:取消了局部变量、前后置计划、抛弃“先接口后用例”的传统建设思想,甚至还取消了“登录”!

**你是否会疑问:这群Diao毛去掉了这些还如何高效的开展接口测试?**

**那还在等什么?赶快进入Lim的世界,看看Lim是怎么通过另一种方式让接口测试变得简单且高效的吧!**

#### 在线体验:[http://121.43.43.59/](http://121.43.43.59/)

#### 项目地址:

1. [**GIthub**](https://github.com/qu-niao/LimApiTest)

2. [**Gitee(国内镜像)**](https://gitee.com/qu-niao/LessIsMore)

---

### 主功能介绍

#### 项目主页

![index](https://img-blog.csdnimg.cn/img_convert/72c9a7af7e851ce212a8bed18c0161a0.jpeg)

#### 强大的接口编辑页

参数类型自动识别、自动管理接口入库,接口参数快速回填以及多种编辑模式让应对各类复杂参数游刃有余:

![api](https://img-blog.csdnimg.cn/img_convert/567a357a0d32e7c5c0855d8d432f7a04.jpeg)

#### 全局参数、执行管理

用例输出的变量统一管理,来源可追溯;用例执行状态可控制:

![var](https://img-blog.csdnimg.cn/img_convert/7dd9a6f5bd20654139d90baeb5dbdd64.jpeg)

#### 多环境管理

能够配置多套环境参数,让一套用例能够在多套服务环境下执行:

![m_envir](https://img-blog.csdnimg.cn/img_convert/82377720648d542d624f838e016b268b.png)

---

![envir](https://img-blog.csdnimg.cn/img_convert/19072074173e7dde3fa1531a7a70b423.jpeg)

#### 支持Python代码

用例变量生成、期望判断、执行条件设置等操作完全兼容python代码:

![code](https://img-blog.csdnimg.cn/img_convert/b074de66609e0ed8fe5f2450bd0bd1aa.jpeg)

#### 更灵活的循环控制

循环控制支持多层嵌套,循环次数支持变量以及支持代码形式break操作:

![foreach](https://img-blog.csdnimg.cn/img_convert/cc8dfc2728c76d5b60dc200edd7cd547.jpeg)

#### 强大的步骤控制器

用例步骤支持延时等待、重试次数及执行条件设置。交换简单且更加灵活:

![controller](https://img-blog.csdnimg.cn/img_convert/ce33686d23eda5cd130dc8b5a999c918.jpeg)

#### 步骤编辑功能

步骤支持合并、复制、拖拽改变排序,批量禁用等功能。一页俱全:

![step](https://img-blog.csdnimg.cn/img_convert/a49b26962cfb59e04c8f0f7b8c5ad4f6.jpeg)

#### “免登录”设计

安全的操作无需登录,让非用例建设人员查看数据报表、报告情况更加快捷方便,减少多余的账号管理和登录操作:

![login](https://img-blog.csdnimg.cn/img_convert/5b09fef381bc63f904c12f0f51bbc773.jpeg)

#### 弹窗拖拽

所有弹窗皆可拖拽,展示内容更加自由可控:

![drag](https://img-blog.csdnimg.cn/img_convert/74c57d0c28c2a2a03614f18f9f681b8b.jpeg)

### 三分钟快速上手教程:[点我访问](https://thzfhzdqvc.feishu.cn/docx/FgCpdAEy2oDjP4xJOkFcIjyJnnf)

### 答疑、定制化开发

[<<点我访问](#jump)

### docker镜像

制作中...

### 开发环境搭建教程

#### 前端环境

1.  安装nodejs

2.  安装yarn

3.  进入项目中的lim-web目录执行:`yarn&&yarn start`

---

#### 后端环境

1.  python3.9+;

2.  mysql5.7+;

3. 执行项目中的`init-db.sql`初始化数据库:

4.  进入LimApi目录执行依赖包安装命令:`pip install -r requirement.txt -i https://mirrors.aliyun.com/pypi/simple`;

5. 修改`LimApi/LimApi/settings.py`文件的`DATABASES`数据库配置;

6. 启动服务:`python manage.py runserver 0.0.0.0:8001`;

7. (可选)如果不涉及文件上传的操作可不执行:新开cmd窗口进入FileData目录执行命令`python3 -m http.server 8003`;

**注意:因为django默认启动为单线程模式,所以上述的部署方式无法进行并发操作(例:在用例执行的同时进行中断执行的操作)所以可以通过UWSGI来启动项目。对于Linux系统推荐`gunicorn`+`gevent`的方式部署,本项目中的`requirement.txt`已集成了这两个库,所以在linux服务器上将启动命令更换为:`python3 -m gunicorn -w 5 -k gevent -t 120 -D  LimApi.wsgi -b 0.0.0.0:8006` 即可。**

---

在未来的版本还会加入测试报告、Swagger导入、自定义函数以及执行实时监控等功能。还考虑接入目前大火的ChatGPT或一些其他智能的人工智能模型来做一些新奇的功能。

另外小伙伴们提出的问题和BUG也会尽量解决。让我们一起成长吧!

**开源不易,全靠用爱发电,如果对你有帮助请给我们点个Star:**

1. [**GIthub**](https://github.com/qu-niao/LessIsMore)

2. [**Gitee(国内镜像)**](https://gitee.com/qu-niao/LessIsMore)

---


使用中遇到问题,需要答疑

你可能感兴趣的:(一款接口自动化神器—开源接口测试平台Lim(Less is More))