目前公司使用开源 MeterSphere(下面简称 ms) 做接口自动化平台
在使用 ms 的过程中存在以下致命问题:
当然,ms 还有其他很各种问题,但不是致命的,我就不一一列举。
首先,场景是不是真的那么复杂,是真的。
能重新造一个平台来替换 ms 吗?能,但成本太大,新开发的也不一定就比 ms 好用,并且 ms 上面现存的场景用例已经上千个,迁移也是很大的成本。
又或者说,用纯代码来编写自动化,这样就不需要在页面上调试那么蛋疼,也不存在保存响应慢的问题。
这个在团队小,并且人员都有 coding 能力时可以采用。目前我们团队人员能力参差不齐,有 coding 能力的并不是很多,并且大家技术栈也不一样,Java 和 Python 都有,
经过深入分析以及和部分同学沟通后,采用了一种比较折中的方案:接口聚合。
什么是接口聚合,顾名思义,就是把多个接口聚合起来。
举例子来说,在贷款的过程中,有用户授信合同签约的节点,需要经过以下步骤:
在 ms 上,要完成这个节点,就需要写 5 个步骤
这 5 步中,涉及到以下变量:
如果单纯这 5 个步骤来看,也没多复杂,完全不需要什么变量追踪之类的。
但如果有 20 个这样的节点,或者说一个节点步骤可能会高达 10 步,甚至更多时,情况就会变得很不一样。
既然业务本身就是这么复杂,无法改变。
那么我们能做的就是化繁为简,把这 5 个步骤合并到一个接口来实现。
我们自己开发一个接口,把这个节点需要的步骤全部操作完,那么在页面上,就只需要调用一个步骤即可!
这样做带来以下好处:
接口聚合这个方案目前能很好的解决了现阶段的问题,但这就是最好的方案吗? 我认为是的。
优点:
当然任何方案都会存在缺点,接口聚合也不例外。
关注公众号,加入千人纯技术交流群,拒绝闲聊