测试之家
自动化工具
致敬社区开源接口平台并二次开发
社区
问答
招聘
社区学堂
新
开源项目
活动
Wiki
注册
登录
自动化工具
致敬社区开源接口平台并二次开发
面对疾风吧
·
2020年08月16日
· 最后由
点点
回复于
2021年06月15日
· 3990 次阅读
背景
由于年初开发了 UI 测试平台
https://testerhome.com/topics/23434
, 反响不错,于是这段日子开始着手接口平台的开发,社区里有很多开源并且成熟的平台,所以我选择了和我技术栈一样的 python+DRF+elementUI。原作者链接
https://testerhome.com/opensource_projects/37
。为什么从众多项目中选择这个呢,首先大前提是技术栈一样,我便于二次开发。另一个原因就是,这个平台的颜值、布局、设计都是一流水准,实在太佩服作者将这么好的平台开源给大家了。
于是我开始搭建并体验这个平台,他的优点如下
布局优美,设计优雅,代码可维护性强
mock 功能,支持 swagger 导入
自带接口文档,编写自动化接口用例时,可以从接口文档导入
测试报告优美,好看,众多优点大家可以去体验下
由于作者不再进行维护了,一些想要的功能只能自己来搞了,我二次开发了以下的功能
由于自带的 swagger 导入跟公司的 swagger 格式不符合,导致导入失败,我进行了调整,并且导入后会自动分组
原来的定时任务功能只支持在 linux 上部署,并且还要放到特定的文件夹下,易用性不高,我在此做了调整,windows、linux 都可以用,并且有定时计划可以看到任务下次执行的时间
原平台没有一个执行项目所有用例的功能,通过研读代码,加上了 ‘执行全部的功能’
经过再次体验,发现每个接口都要在头部写 token 验证,于是做了配置化(登录名、密码、url)来自动获取 token,不用每次都要手动去关联登录接口来获取 token 了
于此同时,在我们使用平台的时候,很多用例或者接口只需要复制 并且修改下就可以了,对此我加入了复制用例、复制接口的功能,大大提高了维护的效率
原平台功能的关联是默认存储了返回值最外层的 key,以至于想关联多层嵌套的时候,没办法满足。于是我修改了关联逻辑,不自动生成关联需要的 key 值了。让用户通过 jsonpath 来自己找,没接触过 jsonpath 的不要紧哈,只需要记住 $..data,类似这样的几乎通吃了,语法很简单。
在从返回值做关联之后,发现有些场景还需要从之前的接口的请求参数里拿数据,以此来关联,于是我又做了叫做 ‘参数关联’ 的功能
至此改造后,基本可以满足公司对接口平台的需求了,在此非常感谢作者无私的奉献!
给大家看下原作者开发的测试报告,非常的好看
注:原开源代码,由于打包链接的是外网的 js、css 文件,最近发现那个网站老师访问失败,所以导致该平台有时候没法访问,最好将这些外部文件下载到本地访问
后续计划
准备做数据库的关联校验,和集成 locust 做性能测试平台
需要源码或者有问题咨询的可以加我微信 liuxiaolu4986
「原创声明:保留所有权利,禁止转载」
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打赏支持
共收到
5
条回复
时间
点赞
恒温
#1
·
2020年08月17日
源码开源到 github 或者国内的 gitee 呗
8楼 已删除
面对疾风吧
·
#3
·
2020年08月17日
Author
仅楼主可见
面对疾风吧
#4
·
2020年08月17日
Author
对
恒温
回复
嗯呢 现在为了满足功能,代码写得有点乱,待我整理下
面对疾风吧
在
求一个开源接口 /UI 测试框架
中提及了此贴
08月18日 19:14
面对疾风吧
在
Docker 部署 Django+Uwsgi+Nginx+Vue
中提及了此贴
09月13日 13:32
JoshuaWxk
#7
·
2020年09月15日
楼主发布到开源平台了吗?
点点
#8
·
2021年06月15日
赞一个
需要
登录
后方可回复, 如果你还没有账号请点击这里
注册
。
面对疾风吧
@liulu
12 个赞
共收到
5
条回复
打赏支持
有新回复!
点击这里立即载入