背景
随着现在前后端框架分离的流行,敏捷开发、版本迭代的更加频繁。API接口文档的管理越来越有必要,也越来越有意义。
目前行业内,有postman、jmeter为代表免费开源工具派系,能解决基本的接口测试,但是无法解决接口链路上的所有问题,一个工具难以支持整个过程。
半年来出现的国产API管理工具推广,包括Apifox、Apipost、Eolink,乍一看产品功能都差不多,本篇文章会做一次完整的横向比较,仅针对功能的有无,并对使用过程进行描述。
工具介绍
eolink
eolink是一款定位专业级的一站式API协作平台,也是国内最早投身API工具研发的平台之一,团队早在2016年就发布了国内首个集Swagger Postman Mock Jmeter单点工具于一身的开源产品Eoapi,能够快速解决API文档管理、快速测试、Mock、API自动化测试等问题。并于2017年正式发布了全球首个在线API全生命周期管理平台,帮助全球开发者更高效的开发、测试和运维API,Eolink由此迭代演化而来。
可以点击查看,eolink官方,查看更多细节。
apipost
ApiPost是一款支持模拟POST、GET、PUT等常见HTTP请求,支持团队协作,并可直接生成并导出html、markdown等格式接口文档的API调试、管理工具。
可以点击查看,apipost官方
apifox
Apifox = Postman Swagger Mock JMeter,集接口文档工具、接口Mock工具、接口自动化测试工具。
可以点击查看,apifox官方,查看更多细节。
功能对比
在实际工作中,eolink、apifox、apipost三个工具,我个人都有使用。接下来,我会对三款功能对比,于是我拉了个功能对比的清单。
特别说明:以下的对比,不吹不黑,只列功能,纯客观比对,不带有任何商业带货的意义。
eolink、aifox、apipost三款工具有很多功能模块,本次仅挑选常用的三个功能模块,接口测试、Mock数据、在线文档。
以下是接口测试、Mock数据、在线文档等几个子功能的对比情况。
我们会挑选几个常用功能进行实际的使用对比,给大家展示一下三个工具的相同点和不同。
接口测试对比
http/https协议测试
http/https协议测试是在日常工作中最常用的功能,eolink、aifox、apipost三款工具都支持该功能,我们主要对比UI界面和功能易用性。
这里使用get请求接口做演示: https://suggest.taobao.com/sug?code=utf-8&q=测试&callback=cb
eolink
点击创建接口后,在顶部tab中展示,包括:文档、编辑、测试、mock、监控等五个功能。
点击测试tab可以看到,包含:请求头、请求体、Query参数、REST参数、权限校验、前置脚本、后置脚本、高级设置等功能。
点击发送按钮进行接请求,在返回结果部分展示接口数据。在返回结果部分展示时间分析功能,可以分析接口请求到接口返回数据的整个网络请求过程。
apifox
点击创建接口后,在顶部展示文档、修改文档、运行、高级Mock等四个功能。
点击测试tab可以看到,包含:Params、Body、Headers、Cookies、前置操作、后置操作等功能。
点击发送按钮进行接口请求,在返回Body中展示返回数据。
apipost
apipost的创建接口页面,和eolink、apifox布局不太一样,感觉更像postman的页面布局。mock数据需要在下边切换使用。
点击发送按钮发送接口测试,在实时响应部分查看返回数据,展示响应头状态码、接口响应时间等数据。
小结: 在http/https协议测试上,eolink、aifox、apipost三个工具都能很好支持功能的实用,不同点是页面上的布局差异和用户体验上的差异。
WebSocket协议测试
我们在做接口测试时,除了常见的http接口,还有一种比较多见,就是WebSocket接口。
WebSocket协议测试功能,在eolink和apipost支持,但是在apifox中不支持。
eolink
在编辑页面选择ws协议,输入ip 端口信息。
点击建立链接按钮,首先建立WebSocket连接。
如果建立连接成功后并且出现发送按钮,说明建立连接成功。在参数名和参数值输入name:1234,点击发送按钮。
点击发送完成后,在报文内容部分可以看到{"name":"1234"},说明WebSocket协议消息发送成功。
apipost
在创建接口页面,选择Raw协议并且输入ip和端口,点击连接按钮,如果出现连接成功文案,说明ws连接成功。
在发送内容区域,输入name:1111,点击发送消息后,可以在消息列表中看到刚才发送的消息。
小结: eolink、apipost都支持WebSocket协议测试,在使用过程中都可以很好的进行WebSocket测试。
定时测试在eolink中的使用
定时测试功能在工作中非常实用,比如有个线上接口需要定时健康服务状态码及返回数据是否正常,在以往都是使用jenkins或者第三方工具实现定时测试功能,非常希望接口测试工具本身能支持这个功能。
对比eolink、aifox、apipost三款功能,只有eolink有这个功能,接下来会简单介绍下定时测试在eolink的使用。
首先,在顶部选择API Monitor空间,解决7 * 24小时定时监控,预防和降低因为API异常导致的业务损失。
选择一个需要监控的接口,把监控频率选择10分钟一次,监控频率可以根据业务需要自行调整。
eolink实现的监控,并不是在本地进行监控,而是使用云监控方案,采用全国各地的监控节点,这样的优点是,有些接口在某些区域网络下可能有问题,使用全国各地的监控节点监控,覆盖的范围更广。
点击开始监控后,就会按照10分钟的频率监控,如果出现错误会在大盘中展示,在最下面按照时序请求接口的折线图。
小结: 在eolink中使用定时测试的功能,整体上比较简单和功能丰富。另外,配合强大的图表功能更能直观体现监控的有效性。
接口文档分享
我们写完接口文档后,会提供给其他团队或者合作公司的开发对接。以往都是提供word文档或者表格查看,如果有参数变更,无法做到查看最新的接口文档。我们希望提供给对方一个实时更新的在线的接口文档,在工作上能提高合作效率。
接口文档分享功能只有eolink和apipost有,下面会使用这两个工具对比。
eolink
选择API并且点击分享项目按钮。点击开启分享,会自动生成分享地址,可以设置可见页面权限并且可以设置密码。
复制生成的链接地址放到浏览器中,就可以查看、执行接口用例。如在eolink客户端发生接口参数变更,刷新浏览器的访问地址即可。
apipost
选择分享tab并且新建自定义分享,然后勾选需要分享的接口。会生成在线浏览地址,放到浏览器访问即可。
但是在网页中,只能查看接口文档不能执行接口测试。
小结: 在接口文档分享上,eolink、aifox、apipost三款工具都支持最基础的查看接口协议功能,但是eolink可以在PC页面上进行更复杂的操作并且体验上也非常好。
结语
以上就是eolink、aifox、apipost三款工具的基本使用和对比。总结来看,三款工具都能满足日常对接口文档、接口测试使用的需求。但是实际工作中,我们会使用多个和接相关的工具,希望最终能有一个能管理接口整个生命周期的工具,降低我们切换工具的成本,目前在eolink是我体验最好的一个工具,支持功能强大,本文提到的定时测试、项目监控、协作能力,如果你觉得不错,可以体验一下~。