其他测试框架 接口测试平台 - 自动生成测试用例并执行生成报告

chen · 2019年07月02日 · 最后由 a1l9e8x6 回复于 2019年12月26日 · 7280 次阅读

interface-master 轻量级便捷接口自动化平台

目前还有很多缺憾,请各位大神多提提意见,进一步修改。
包含五个功能 项目管理,模块管理,接口管理,用户场景管理,用例执行,定时任务

其核心设计目标

自动生成接口测试用例,解决接口测试人员花费太多的时间去编写,接口参数是否必填,参数数据类型限制,参数数据类型自身的数据范围值限制,用户场景等用例

开发环境

环境:python3.6.5

后端框架:
WEB 框架:python-flask
登录鉴权:Flask-JWT
数据库:Flask-SQLAchemy
定时调度:Flask-APScheduler
Execl 操作:openpyxl
虚拟数据 :Faker
邮件:Flask-Mail

前端框架:
vue2.0+elementUI

体验地址
http://106.13.20.49 账号 密码 admin

运行项目

后端运行:
进入 interface-master 目录 执行 flask initdb 创建表格

执行 flask forge 生成默认的项目和模块数据,管理员账号密码 admin/admin

执行 flask run 运行项目

配置发件邮箱

前端运行:
安装 Node.js 环境
进入 interface 目录
执行 npm install 加载资源
执行 npm run dev 运行项目
如 npm 加载太慢请使用 cnpm

使用流程介绍
登录 账号密码 admin/admin

新增项目和新增模块就不用多说了,主要说下新增接口

接口测试配置
案例:

url: http://127.0.0.1:7777/jia
herder : content-Type :application/json;charset=UTF-8
协议: POST
参数: {"a":"11","a1":"10"}
响应信息:
{'msg': '请求成功 ', 'msg_code': 1000, 'a_list': '3333'}
msg_code:1000 请求成功的 code
限制条件:
a,a1 必填
a ,a1 int 类型可输入范围 1-100
以下开始配置:
1.Body 输入整个请求参数结构,需要测试的参数值设置变量 ${变量名称}

点击新增参数填写相对应的内容

如一个广告接口,01 表示投放某个版面位置, 02 表示投放某个版面位置
这时候的测试案例参数值就有两个 01 和 02
案例参类型 选择- 列表
案例参数值 ['01','02']

案例 2 :接口 B 需要登录后的 token 才能请求

1.新增一个登录接口
2.新增接口 B 时点击新增调用接口按钮


获取登录成功后的 token
如:登录接口请求成功返回信息如下
{"resultCode":"0000000000","resultMsg":"正常","resultData":{"token":"fsfsdfj22320023"}
返回路径填写:resultData.token

我们只需在需要用到 token 的地方填写 ${token}就可以了

如 Get 请求 Body 填写方式

结果校验
如返回信息 {'msg': '请求成功 ', 'msg_code': 1000}
如 msg_code = 1000 表示该接口请求通过
校验路径只需如下填写

如返回信息
{'msg': '请求成功 ', 'msgList': [{"a":10,"b":11},{"a":"11","b":12}]}
msgList 第一个 a =10 表示正确
校验路径只需如下填写

用户场景测试

点击 新增场景接口


在下一个接口中 body 和 信息头可直接使用 ${变量名称}来获取值

CASE 新增与执行

查看 case 执行日志

定时任务
新增任务

查看调度日志

共收到 24 条回复 时间 点赞

楼主 体验网址 提示 密码不对 登录不进去啊

楼主,登录你没有解决跨域问题

chen #3 · 2019年07月08日 Author
beiank 回复

不好意思 后台没开,现在开了

chen #4 · 2019年07月08日 Author
旋风小子 回复

不好意思 后台关了,现在已开启

正文好像没介绍 自动生成 相关的功能?

chen #6 · 2019年07月09日 Author
陈恒捷 回复

会自动生成 接口参数是否必填,参数数据类型限制,参数数据范围值限制 (数字是取值范围可精确到小数位,字符串是长度)

chen #7 · 2019年07月09日 Author
beiank 回复

现在可以了 我放了一个测试 case 可以去查看下执行后的结果

楼主,你这个平台每条接口的数据都要一个个输入吗,能不能 excel 自动导入

chen #9 · 2019年07月09日 Author
beck 回复

还没 execl 导入功能,以后可以考虑增加,现在接口可以直接复制

chen 回复

请问楼主,平台用的是 flask+vue,vue 好入坑吗,之前看 flask 教程,上面用的是 bootstarp,看的云里雾里

chen #11 · 2019年07月09日 Author
beck 回复

好入坑,vue 我边学边做的,flask 也很简单,可以看下书籍 FlaskWeb 开发:基于 Python 的 Web 应用开发实战

chen 回复

向你学习,哈哈,也打算动手试下

样式有点缺失啊,刷新了下 404 了

接口有 sign 签名参数进行鉴权的怎么破???

chen #15 · 2019年07月11日 Author
yiwang 回复

新增接口里面有个新增调用接口,调用登录接口获取登录成功返回的 sign 信息设置为变量, 在你想放的地方写入 ${变量名}就可以了。

chen #16 · 2019年07月11日 Author
一本正经 回复

路由没有配置好

仅楼主可见
chen #18 · 2019年08月07日 Author

可以新增测试场景

体验账号密码改了嘛?

账号密码不能登录了呀楼主

楼主能说下自动生成用例的原理么

楼主 体验网址 提示 密码不对 登录不进去啊

仅楼主可见

请问怎么自动生成异常用例,然后开源了吗?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册