自动化工具 SECO 接口自动化测试平台

逍遥散人 · 2018年04月08日 · 最后由 陈林 回复于 2019年08月14日 · 4436 次阅读

一、前言

在接口测试过程中,我们尝试使用过各种接口测试工具,但这些工具,都无法很好满足我们的需求。我们的需求:

  1. 方便维护测试用例
  2. 定时任务管理
  3. 测试报告有错误时,发送报警邮件
  4. 接口数据统计

基于以上几个核心需求,为了让接口自动化测试上手更加容易,更加系统化。我们开发一个接口自动化测试平台,让每个人都享受高效工作,省出更多时间,过上美好生活。

二、系统功能介绍

整套系统采用前后端分离的技术架构,进行构建。前端部分使用到了业内比较火的 Vue 框架;后端部分使用到了非常成熟的 Python Web 开发框架 Django;接口测试部分使用到了@debugtalk开源的 HttpRunner;数据库使用到了 MySQL,MongoDB,Redis.

系统主要功能模块
  • 项目管理
  • 用例管理
  • 定时任务管理
  • 统计与报告
  • 配置管理
1、系统首页

2、项目管理
2.1、添加项目

2.2、项目列表

3、用例管理
3.1、添加用例

3.2、用例列表

3.3、测试详情

4、定时任务管理
4.1、添加定时任务

4.2、定时任务列表

4.3、定时任务测试结果

5、统计与报告
5.1、测试报告

6、配置管理
6.1、添加配置

6.2、配置列表

三、未来规划功能

  • 用户登陆与注册
  • 搜索功能
  • 接口 mook 服务
  • 接口性能测试
  • 批量生产测试用例
  • 导入测试用例
  • 更多数据统计
  • 支持其他协议接口测试
  • 支持报警发送钉钉群发
共收到 27 条回复 时间 点赞

定时任务是怎么实现的?Linux 的 cron ?

fdeferf 回复

使用 celery

逍遥散人 回复

Celery 的话,怎么做到根据前端的修改,动态修改新增呢?之前我只是在代码里写死,去执行一个方法

请问楼主,这个是几个人做的,做了多久啊?

和我司的一样。。。也是 django+celery+vue(原 jq+bootstrap,现在改成 vue)。
接口测试用了好久了,现在我也在想着写性能。
redis 是做 BROKER,但 mongodb 干嘛,存测试结果?
之前我也想用 mongodb 但是不知道为什么一定要这么做,现在测试结果存文件也挺好的。

bauul 回复

2 人,差不多一个月

fdeferf 回复

celery 的定时任务,可以存储到数据库。既然可以存数据库,就可以通过前端对数据库进行操作。

接口断言那里填写能贴出来看看吗?Variabls Extract Validators Skip

看界面,一个用例里可以有多个接口,在一个用例里接口串行执行,是这样吗?会不会有这样一个问题,有个接口(比如登录)必须先被其他接口调用,这样的话,录入用例的时候需要先录入登录接口,会不会有数据冗余?或者说把接口都录在一个用例里边

666 啊,感觉和我做的很类似啊 ,不知道会开源么

仅楼主可见
逍遥散人 · #12 · 2018年04月08日 Author
仅楼主可见
尹全旺 回复

再完善一些功能会开源

fdeferf 回复



赞赞赞!期待开源😀

没有做数据类型区分么?比如断言 200 是字符串类型?如果我要断言 int float bool 或者定义变量是这些类型呢

期待开源~

好是很好 不过总觉得 大家现在都是在追求界面弄些测试平台 很多人并不关注 里面是如何处理的

尹全旺 回复

都有的

套用框架直接请求,做断言, 不要GUI; 换句话说: 不满足领导的需求, 让不懂代码的普通工程师也能用,
为什么反而不招人待见?
如果解决不了通用的问题,登录后其他用例对它的依赖,加密,测试后的数据销毁重建...
逍遥散人 回复

前台怎么没体现出来数据类型?

还没有开源吗?

仅楼主可见
仅楼主可见

期待开源

性能怎么做?

这几天也在搞 celery 做定时任务,但还没搞懂,怎么根据前端设置的时间去设置定时,我看你上面说放数据库,可以给个思路吗?

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