去年为了落地“基于代理服务的接口合并方案”,实用 Node 开发了一个 freedom-api 模块,最近灵光一闪,发现了 freedom-api 的另一个妙用,遂对 freedom-api 进行了升级完善,简化流程。开发出了 在线接口流程测试工具,有兴趣可以尝试下
一、目的
对于前端开发的同学来说,会出现这样一种场景:当后台将接口交付之后,此时自己还在开发前端逻辑,忙得正焦头烂额,只会简单的通过浏览器或者
postMan 来试一试接口通不通,至于接口之间的上下承接,请求结果是否达到预期,无力 Care。当 Ready 去联调的时候,结合业务逻辑,才发现接口会有各种各样的坑,才让后台匆匆忙忙去修复,让后台白白错过一个并行修复期。
对于有专门接口测试同学的 team,各种高级的接口测试工具倒是功能齐全,可是测试脚本的学习成本不可谓不高
在 freedom-api 中,定义了一套基于 Json 的简要的流程规则,如果辅之于一套可视化的流程配置界面,一款简约实用的“在线接口流程测试工具”呼之欲出~~
二、工作流程描述
- 用户通过可视化的工具,配置好接口请求流程
- 点击执行按钮,客户端将会和服务器端建立一个 web socket 连接,同时格式化流程定义发送到服务器端,服务器端在执行具体一个请求流程的前后,实时同步请求信息到客户端,客户端显示流程日志
- 对于具体的流程,还可以通过简单的 Js 表达式设置结果断言,断言不通过,流程将中断,就可以将接口怼回给后端了
三、优势
- 规则简单:除了
$data$
,$allData$
这俩内置变量,你不需要记住更多 - 完整的数据取用,你不光可以看到 response.body,response.header 也一网打尽
- 不用担心登录态。即使你的流程很多都需要基于头一个接口完成的登录,你也不必担心通过代理服务器请求之后,登录态会丢失,因为 freedom-api 很好的处理了 cookie。如果登录态不急于 cookie 维护,从
$allData$
中可以获取到你所需的一切 - 清晰的编辑指引,以及内置的 demo,让你轻松的编辑流程
- 我凑这么多字数着实不易,有空就看看呗~~
四、有待优化
真实的应用场景中,接口流程的各种鉴权加密必不可少,目前工具这块支持得比较简单。好在,freedom-api 基于 tapable 插件机制,这一块可以补充各种插件供用户勾选。当然这块做不做,还得看 "Anybody care ?"
五、测试环境的接口,只能内网环境访问
这个就是致命伤了,只能内网访问的接口,我的服务器没有理由可以穿透。但是,如果需要,通过 freedom-api 自己在内网搭建一套有何妨? 还可以通过补充各种插件,订制完善各种功能。
没精力?Maybe I can help