背景

目前公司使用开源 MeterSphere(下面简称 ms) 做接口自动化平台

在使用 ms 的过程中存在以下致命问题:

当然,ms 还有其他很各种问题,但不是致命的,我就不一一列举。

问题分析

首先,场景是不是真的那么复杂,是真的。

能重新造一个平台来替换 ms 吗?能,但成本太大,新开发的也不一定就比 ms 好用,并且 ms 上面现存的场景用例已经上千个,迁移也是很大的成本。

又或者说,用纯代码来编写自动化,这样就不需要在页面上调试那么蛋疼,也不存在保存响应慢的问题。

这个在团队小,并且人员都有 coding 能力时可以采用。目前我们团队人员能力参差不齐,有 coding 能力的并不是很多,并且大家技术栈也不一样,Java 和 Python 都有,

经过深入分析以及和部分同学沟通后,采用了一种比较折中的方案:接口聚合。

方案设计

什么是接口聚合,顾名思义,就是把多个接口聚合起来。

举例子来说,在贷款的过程中,有用户授信合同签约的节点,需要经过以下步骤:

在 ms 上,要完成这个节点,就需要写 5 个步骤

这 5 步中,涉及到以下变量:

如果单纯这 5 个步骤来看,也没多复杂,完全不需要什么变量追踪之类的。

但如果有 20 个这样的节点,或者说一个节点步骤可能会高达 10 步,甚至更多时,情况就会变得很不一样。

既然业务本身就是这么复杂,无法改变。

那么我们能做的就是化繁为简,把这 5 个步骤合并到一个接口来实现。

我们自己开发一个接口,把这个节点需要的步骤全部操作完,那么在页面上,就只需要调用一个步骤即可!

这样做带来以下好处:

总结

接口聚合这个方案目前能很好的解决了现阶段的问题,但这就是最好的方案吗? 我认为是的。

优点:

当然任何方案都会存在缺点,接口聚合也不例外。

公众号原文

关注公众号,加入千人纯技术交流群,拒绝闲聊😀


↙↙↙阅读原文可查看相关链接,并与作者交流