前言
在项目开发测试中,接口文档是贯穿始终的。前后端开发需要在开发前期进行接口定义并形成文档,QA在功能测试和接口测试的环节也需要依赖于这些接口文档进行测试。接口文档往往以最简单的静态文档的形态存在。然而在紧张的敏捷开发模式下,随着版本迭代,很多接口发生了变化或者被废弃,而开发几乎不会在后期去更新这种静态文档。QA人员阅读“过期”的接口文档是一件痛苦的事情,与开发的沟通成本不降反升。而这些不便于及时维护的静态文档,随着时间的推移最终无人问津。因此,我们想要找到一种长期可维护且轻量便捷的接口文档工具。
什么是接口文档管理工具?
接口文档管理工具是一个在线API文档系统,致力于快速解决团队内部接口文档的编写,和减少团队协作开发的沟通成本。
接口管理工具推荐
作为一个后端程序员,和前端对接时总是需要写冗杂繁琐的接口文档,不仅效率低且沟通成本也高, 找到一款能够提高对接效率,录入接口信息的工具是非常有必要的。下面我将推荐几个文档管理工具并进行详细介绍。
1、目前国内做得比较好的是eoLinker( eoLinker一直比较低调,更加专注用户体验和功能性的提升。eoLinker有线上版本和开源版本,基于PHP。简约的设计风格,这款产品的功能强大,几乎满足了程序员的开发需求。(下面是关于eoLinker详细介绍)
附上eoLinker-AMS接口管理系统的一些简介(来自eoLinker的官网):
注册登录后,其功能一目了然,很容易上手
项目信息页面:
其基础信息一目了然,创建时间、接口数量、协作人数其我比较关心的信息都在这里,让我可以很直观了解项目的情况。其中让我眼前一亮的是可以管理状态码,还可以导入导出项目,这样线上项目可以导出到本地,极大方便了用户操作,不需要烦琐的操作就可以让本地及线上项目接口信息保持同步。
接口列表页面:
新增接口信息页面:
其所添加的信息粒度较小,接口信息直观简洁,极大提高了开发效率,可以减少成员间的沟通成本。
编辑后接口信息页面:
编辑完接口文档后可直接点击测试:(用登陆接口进行测试)
其测试效果与Postman、DHC等工具并无过大差别,文档写完一键测试,类似流水线工作,可以不必像过去一样将文档中信息复制粘贴到测试工具上,简化了用户的操作。不仅如此,它还有mock测试,生成mock数据进行测试。
另外,我们还可以一键添加环境,在往后的测试中可直接添加测试环境要求,简化了测试操作:
接口管理
· 无论是个人开发者、创业团队还是成熟企业,eoLinker-AMS接口管理系统都可以满足对应的接口管理需求。
· 不再需要为每个项目搭建独立的接口管理平台和编写离线的接口文档,一切的项目接口管理都将在云端进行。
项目协作
· 传统的word、excel以及自建wiki等文档工具,均无法摆脱编写繁琐、阅读困难、维护麻烦等缺点。
· eoLinker-AMS接口管理系统能够让你注册后便开始协作,其规范化的文档、清晰的分类以及友好的阅读界面,让文档更新和协作不再痛苦。
在线测试
· 传统如DHC以及postman等测试工具已无法满足接口管理工作,并且无法提供性能测试报告。
· eoLinker则将代替传统测试工具,无须翻墙和安装,只需网页轻轻一点即可得知完整的接口测试信息。
eoLinker开源版本:
eoLinker开源版本,其是线上版的精简版本,可以让用户部署到自己的服务器中进行操作,部分用户希望让数据保存在本地服务器中,可以用其开源版。但如果涉及到更多功能的操作,建议使用其线上版本。
线上版本功能强大,基本对于接口管理的各种要求都能够满足,对历史记录的查看、在线测试、团队协作、接口文档编写、状态码管理、一些用户可用到的小工具皆可在官网找到并正常使用,功能过多难以全部列出来,你可以自己进入eolinker官网进行实际操作,功能足以满足你的需求。
2、Postman
Postman是被大家所熟知的网页调试Chrome插件,我们常常用它来进行临时的http请求调试。幸运的是,Postman可以将调试过的请求保存到Collection中。形成的Collection就可以作为一份简单有效且支持在线测试的接口文档,使用同一账号登录就可以做到分享和同步。对QA来说,使用Postman进行接口测试和接口文档维护是同一件事情,测试即文档,维护成本也很低。
3、国外的Swagger
“Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。”简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案。Swagger主要包含了以下4个部分:
1. Swagger可以直接嵌入项目中,通过开发时编写注释,自动生成接口文档;
2. Swagger包含了Swagger Editor,它是使用yaml语言的Swagger API的编辑器,支持导出yaml和json格式的接口文件;
3. Swagger包含了Swagger UI,它将Swagger Editor编辑好的接口文档以html的形式展示出来;
4. Swagger支持根据定义的接口导出各种语言的服务端或客户端代码。
其中1和4是更加面向开发的内容,开发团队要有自动生成文档的需求,在开发和自测中遵循前后端分离。而2和3是相对可以独立出来的、可供QA人员参考的接口文档管理方案,也是我们主要关注的部分。
Swagger提供了Swagger Editor和Swagger UI的在线demo,如下图。可以看出,Swagger可以完整地定义一个接口的内容,包括各个参数、返回值的具体结构、类型,Swagger Editor可以实时进行编辑并在线调试。编辑好的API可以导出为json文件,使用Swagger UI打开即可以看到更美观的接口文档。
Swagger Editor和SwaggerUI的本地部署十分简单,这两者都可以直接从Github上下载源码,将其部署到本地Tomcat服务器上,然后通过浏览器访问即可。官方还提供了其他几种部署方式,具体步骤在帮助文档中有详细说明,这里不再赘述。
4、RAP
RAP是阿里的一套完整的可视化接口管理工具,可以定义接口结构,动态生成模拟数据,校验真实接口正确性。不仅如此,RAP围绕接口定义,提供了一系列包括团队管理、项目管理、文档版本管理、mock插件等服务。
有关RAP的使用,RAP官网提供了非常详细的wiki和视频教程。与Swagger需要使用标记语言编写不同,RAP可以完全可视化地定义项目相关信息,定义接口的请求响应等等,学习成本较低。RAP还为后端开发人员提供了校验接口的功能,为前端开发人员提供了mock数据的工具等。
RAP的本地搭建过程如下:
1. 本地服务准备:Tomcat、Redis、Mysql;
2. Github上下载RAP最新的war包,部署war包到Tomcat/webapps/ROOT目录下;
3. 修改数据库配置文件:ROOT/WEB-INF/classes/config.properties,修改为本地数据库的连接信息;
4. 数据库初始化:在本地数据库上执行ROOTWEB-INFclassesdatabase中的initialize.sql;
5. 开启tomcat、redis、mysql服务,浏览器访问http://localhost:8080/。
总结
总的来说极力推荐eoLinker,在目前是最受欢迎的一款接口管理工具。Postman是一个测试向的API小工具,可以非常轻量地维护一份“测试记录”,适合小的测试团队自己使用并维护。Swagger丰富且独立的各个功能使得它可以被应用在各种需求下,不论是开发还是测试都可以使用这个工具,来优化自己的开发过程,进行接口文档维护、接口测试等;但Swagger的学习和接入成本相对较高,需要开发与测试的深入配合。RAP的应用范围非常明确,是一个面向开发人员自测和联调的工具性平台,它更适合以开发为核心对接口进行维护,供测试人员参考。
评论
查看更多