研发效能 【ARUN】FastAPI&Vue 拥有无敌颜值且易用的全栈测试平台! 第一弹——接口测试

Ayo · 2021年05月13日 · 最后由 哪里不会点哪里 回复于 2021年07月04日 · 5383 次阅读

前言

第一次发帖记录分享一下 (细节太多,以后再逐个分解~暂时都用图代替啦) 自己设计与落地的测试平台~ 希望和大家一起学习进步~
感谢以下优秀的作品给予很多灵感~
HttpRunner 优秀的设计思想与代码规范在我设计框架时给到了很大的帮助~
Postman, Apifox, YApi, ApiPost 美丽的颜值给了我很多前端设计灵感~
Lyrebird 借鉴开源工具实现了 Copy JsonPath 让校验更更更方便~
MeterSphere 借鉴 DashBoard 设计~
Rabbit: 借鉴站内开源平台 UI 断点调试部分页面~

平台功能/设计: https://www.processon.com/view/link/608b6a3d5653bb53b673840f

Dashboard

概述

本次将会将会从接口生命周期分享 ARUN 平台:
接口定义后的导入 -> 配置 Mock, 代理转发 -> 调试/绑定接口用例 -> 接口开发后执行测试用例 -> 提供 WebHook 接入 CI-> 线上部分监控

导入接口

平台支持 Swagger/cURL/HAR 导入, 再接口开发初期支持绑定 Swagger 定时/手动拉取接口, 并提供平台内接口录入率:


绑定 Mock

支持 Mockjs,以及集成 Mitmproxy 代理转发。

配置转发 URL, 附带代理插件,配置代理插件,代理转发。

调试接口/编写用例

调试接口支持:
请求参数变量/函数解析替换, hook 函数,前后置代码载入区域,右键复制 response jsonpath, 自动生成 jsonschema, 嵌入 zipkin 链路追踪,多层变量池,集成 Retrying 函数实现多异常丰富重拾, 支持参数化,动态跳过, 锁定接口等。

代码书写区域

多模块函数池/Diff 提交比较:

Zipkin 链路追踪:

复制 JsonPath 提供校验/提取:

接口锁定防止修改过程中覆盖:

重复执行接口:

接口列表&相关操作:

创建用例 Json/Yaml / Form

Json/Yaml 用例: 方便一些比较高级用法以及动态载入 Runner 执行器后,可直接通过参数调用。

Form 用例:
支持拖拽组成用例/改变执行顺序/单步骤调试/多层变量池/WebSocket 实时结果展示等。

环境分离引用/配置,全局注入/引用。

用例列表/批量调试/执行用例

WebHook 接入 CI&配置&多模式配置



SSL 等异常监控

第二弹 - 分享基于 Zalenium 开发的 UI/以及 Diff 模块


另外

宁波有测开/自动化经验小伙伴的找工作联系我!!我带!!
联系 W:AYO-YO-O

共收到 23 条回复 时间 点赞

期待开源,学习一波

好强呀

看起很不错

页面确实看起来很棒

前端表现力很赞

Lyrebird 借鉴开源工具实现了 Copy JsonPath 让校验更更更方便~
具体是哪部分代码呀~~

Ayo #7 · 2021年05月14日 Author
花菜 回复

搜一下下用 Monaco 的那个组件,挂载了一个 jsonpath 提取方法,具体叫啥名字忘啦。

开源了吗

Ayo #9 · 2021年05月14日 Author
cmlanche 回复

还木有哎

简直很赞

界面写得不错。

这个计划开源么

13楼 已删除
Ayo #14 · 2021年05月22日 Author
yangxiangfu 回复

暂时咩有开源打算~ 平台功能迭代太忙啦, 后期稳定后会考虑。

666,啥时候分享下 UI

自动生成 jsonschema部分是如何实现的?

取值范围/正则匹配 这些也可以自动生成么

Ayo #17 · 2021年05月26日 Author
测试游记 回复

是递归返回对象生成的。 可以说现在生成的可以说是一个简化的模版, 兼容性会比较大,取值范围/正则匹配 这些需要另外维护。 另外还会有 null 的情况, 无法有效的生成对应的 schema, 只能说是尽量的兼容。

女神,拖拽的功能是用到了什么?

Ayo #19 · 2021年05月28日 Author
ZYH 回复

"vuedraggable": "2.24.1"

测试菜鸡仰视大佬

21楼 已删除

大佬,我宁波的,求带😭 😭 😭

666666666666

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