接口测试 yapi 二次开发分支 crazy-yapi 介绍

叶浩 · 2019年08月03日 · 最后由 叶浩 回复于 2023年07月26日 · 6061 次阅读

YApi 是一个可本地部署的、打通前后端及 QA 的、可视化的接口管理平台,当前分支为在 yapi 主分支 1.7.0 版本基础上定制增加了若干功能 -
体验站点 http://crazy-yapi.camdy.cn

crazy-yapi 分支补充功能说明:

// TO DO 优化: 接口运行页面 保存到用例集,不支持用例集树结构 调研:支持文件上传类接口测试 优化 tree 加载为异步 增强:增加 jmeter driver 服务,支持性能压测 精度 bug 修复 :js 数字最大 16 位 公共参数备注链接

!!!特性功能!!!

1.接口多级目录
2.用例多级目录
3.用例导入示例参数
4.单用例前置后置 js 处理器(支持 context storage)
5.包含子用例集
6.test 断言功能增强

!!!更新记录!!!!
2019/8/2

修复了 接口 运行 页面 执行无返回信息的 bug
修复了 项目复制报错的 bug
2019/8/1

crazy-yapi 发布演示站点
配置 crazy-yapi 升级提醒
2019/7/31

变更:去掉依赖跨域插件,PS:去除跨域插件后,测试请求均从 yapiserver 发起,因此需要部署 yapi 的服务器能够与被测服务的环境配置进行 http 通信
test 断言功能加强:支持 storage,支持工具函数 utils
优化,断言执行失败,在用例执行页面显示 error 信息
2019/7/30

增加复选框,包含子用例集合(兼容【开始测试】)
服务器测试兼容多级目录,可设置是否执行子集合用例
2019/7/26

调整删除分类逻辑:删除父分类,则删除其子分类及其分类下得接口/用例
getbypath 开放接口 权限修复
2019/7/26

用例跨项目移动支持多级目录
用例参数在接口示例参数和用例设置值间切换(导入接口设置参数)
2019/7/25

依赖组件升级 antd 版本升级到 3.20.5
用例集支持多级目录
用例集支持 集合名/用例名/用例关联的接口 path 搜索
修复接口列表 测试集合 tree 乱跳 bug
优化了 tree 的点击展开及拖拽移动的交互逻辑
2019/7/23

增加:选择父分类后,接口列表页 复选框【包含子分类接口】
增加 open api 根据接口 path(完全匹配) 查找接口:例如:http://127.0.0.1/api/interface/getbypath?token=xxxx&&path=/a
接口 /api/interface/list_menu 增加 islist 参数,默认不传返回的是多级目录 tree,例/api/interface/list_menu?project_id=348&islist=1
修复 测试用例集合 导入接口支持接口多级分类
2019/7/22

修复接口列表分页 bug
修复搜索接口 bug
增加:搜索接口时,过滤未命中的分类
增加:命中的关键字高亮显示
增加:树目录中接口增加状态显示
修复接口列表接口状态修改后,分类树中接口状态不变更的 bug
2019/7/20

修复接口列表页面 table 中 子分类显示 id 的 bug
增加接口列表页面 table 中支持 treeselect 选择子分类修改的功能
优化:接口列表页面搜索时,未命中的分类/接口,不显示
2019/7/19

增加接口列表多级目录
支持多级目录拖拽移动,修复各种坑死人不偿命 bug
接口列表页【搜索接口】支持搜索子目录接口
添加接口接口筛选子目录
跨项目移动接口支持筛选子目录
2019/7/16

修复接口列表状态过滤分页异常的 bug(bug:状态过滤后,却任然按照过滤前的数据分页展示)
接口列表头增加当前分类的接口状态统计 如:全部接口共 (30) 个,其中:["开发中: 1 个","已发布: 29 个"]
2019/7/15 前

接口定义中参数示例参数如果是 json 格式,则会进行染色并格式化
增加接口/用例空间内跨项目移动功能
全局搜索增加支持接口路劲搜索(不包含 basepath)
修复 form 参数批量导入时,示例值中包含冒号,导入后冒号后面内容丢失的 bug
优化查询参数示例显示宽度为自适应
增加接口状态(从原来的未完成 - 已完成 改为: 设计中,开发中,已提测,已发布,已过时,暂停开发 )
增加用例前置/后置脚本处理器,兼容 context、storage,执行顺序:项目请求前置脚本-》用例前置脚本-》用例后置脚本-》项目响应处理脚本
在 F12-console 控制台打印用例执行的 context 内容,减小对 cross 控制台查看请求参数的依赖
在控制台打印请求配置脚本以及前置后置 js 脚本的异常错误,提高调试效率
请求超时时间从 5 秒修改为 10 秒
post form 参数增加 list 类型
当参数类型为 list 时,value 以 “,” 逗号分隔符连接多个 value 如 value1,value2,value3;
list 参数仅在【服务器端】执行用例时全部生效
list 参数在【浏览器端】执行用例时,因 cross 插件当前不支持 list 类型,会取 list 第一个参数发起请求,其他参数忽略,该问题影响不大,后续有时间的时候修改 cross 插件兼容

最佳回复

@zhamdoctor
crazy-yapi 的 github 地址:https://github.com/xian-crazy/yapi

@ 叶浩 希望作者能加入 docker 部署吧,会方便很多。

共收到 19 条回复 时间 点赞

变更:去掉依赖跨域插件,PS:去除跨域插件后,测试请求均从 yapiserver 发起,因此需要部署 yapi 的服务器能够与被测服务的环境配置进行 http 通信

为什么要去掉插件功能呢,我觉得插件很好用,因为我完全可以通过它来做 127.0.0.1 的请求调试。你改成 yapiServer 发起的话。这个就没办法解决了吧。

确实如此,不过去掉插件使用更方便,也只需要维护一套请求逻辑, 至于本地回环的问题 确实应该支持,我考虑下怎么既能解决跨域又不用插件

仅楼主可见
匿名 #4 · 2019年09月12日

楼主您好,请问开源吗,想参考学习二次开发

仅楼主可见

谢谢大家反馈,回逐步优化改进

叶浩 回复

你好,在 form 格式的入参下,能不能增加一个 object 类型,现在都是 text 和 file

请问开源吗,最近在搞 yapi,楼主大神修改的几个点太赞了

crazyyapi 和官方 yapi 服务器都停了,crazyyapi 的 git 地址在哪里,还更新么

@zhamdoctor
crazy-yapi 的 github 地址:https://github.com/xian-crazy/yapi

@ 叶浩 希望作者能加入 docker 部署吧,会方便很多。

能否增加以下功能:
1、导出时能否选择性进行导出,比如选多个模块进行导出。因为一般都不可能是导出所有模块。
2、导出时可以导出到 word
3、输入参数增加字段长度的填写(如新增接口,需要知道字段长度支持多少)

叶浩 #12 · 2020年08月12日 Author
lazy_au 回复

体验站点停服了,暂时没有部署体验站点

叶浩 #13 · 2020年08月18日 Author
luotangsha 回复

嗯 后续会考虑优化开发这几个能力

请问作者没有在更新了吗 以及跨域插件在哪加上呢

saii 回复

你现在怎么解决的呢 跨域插件去掉了我这一直是请求不到的

小人物 回复

插件还有一种模式是 background 的模式发送 ,这种是不会有跨域问题的呀

saii 回复

没懂 现在他这个分支是去掉了跨域插件,但是我用 127.0.0.1 去做接口测试就一直存在跨域问题,而且我的 yapi server 是没和服务器通信。又觉得他这的功能挺好用的 怎么破

saii 回复

解决了 我本地搞了个 nginx 反向代理了被测网站的域名跳转到了 yapi 上 就不存在跨域了

叶浩 #19 · 2023年07月26日 Author
Vincent 回复

谢谢建议
跳槽后 没用这个工具了,就没有持续投入开发维护了
官方版本应该有 docker 部署方式,可以参考构建

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