前后端分离绕不开的接口测试
先聊一聊前端和后端分离的优点。前后端分离优点如下:
- 真正的实现前后端解耦,前端服务器使用 nginx;
- 易于发现 bug,可以快速定位是谁的问题,不会出现互相踢皮球的现象;
- 减少后端服务器的并发 / 负载压力;
- nginx 支持热部署,不用重启服务器,前端无缝升级;
- 增加代码的维护性 & 易读性(前后端耦合在一起的代码读起来相当费劲);
其中不可避免的就是定制好接口文档,后端工程师要写好单元测试,推荐使用 chrome 的插件 postman 或 soapui 或 jmeter,service 层的测试用例拿 junit 写。 但是这种情况对于接口文档管理很不方便,所以下面就罗列一些互联网公司常用的接口文档管理平台。
Swagger 开源接口框架
Swagger 是一个大型的 API 开发者的工具框架,该框架提出了一个编写 OpenAPI 的规范(命名为 OAS),并且 Swagger 可以跨整个 API 生命周期进行开发,从设计和文档到测试和部署。 Swagger 框架三核心:
- 提供了一个编写 API 文档的规范 ,称为 OAS ,在规范中明确 API 的格式和一些编写要素;
- 提供相关的工具,对 API 文档的编写提供辅助。主要是这么几个项目 Swagger Editor、SwaggerUI、Swagger Codegen、Swagger Inspector;
- 提供对各种流行语言和框架的集成,例如集成 SpringMVC 的 springfox 框架;
YApi 接口管理平台
YApi 是高效、易用、功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。它可以帮助开发者轻松创建、发布、以及维护 API。除此之外,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。特性:
- 基于 Json5 和 Mockjs 定义接口返回数据的结构和文档,效率提升多倍
- 扁平化权限设计,即保证了大型企业级项目的管理,又保证了易用性
- 类似 postman 的接口调试
- 自动化测试, 支持对 Response 断言
- MockServer 除支持普通的随机 mock 外,还增加了 Mock 期望功能,根据设置的请求过滤规则,返回期望数据
- 支持 postman, har, swagger 数据导入
- 免费开源,内网部署,信息再也不怕泄露了。
难点:如果需要要执行自动化测试,需要编写脚本。
Eolinker 简介
Eolinker 是国内企业级 IT 研发管理解决方案服务品牌,在线 API 接口管理服务供应商,致力于满足各行业客户在不同应用环境中对研发管理全生命周期的个性化需求,提供 API 开发管理(AMS)、开发团队协作、自动化测试、网关(AGW)以及监控(AMT)等服务。 特性:
- 接口信息的录入与导出
- 在线测试
- 团队协作管理
- 支持数据字典的录入
- 用户常用到的小工具
- 对状态码进行管理
ShowDoc 在线 API 文档
ShowDoc 一个非常适合 IT 团队的在线 API 文档、技术文档工具。 随着移动互联网的发展,BaaS(后端即服务)越来越流行。服务端提供 API,APP 端或者网页前端便可方便调用数据。用 ShowDoc 可以非常方便快速地编写出美观的 API 文档。
DOClever 接口管理工具
DOClever 是一个可视化接口管理工具 , 可以分析接口结构,校验接口正确性, 围绕接口定义文档,通过一系列自动化工具提升我们的协作效率。 特性:
- 1 接口快照回滚, 项目版本控制
- 2 兼容最新版 Swagger,PostMan 等平台数据
- 3 接口文档自动在线生成
- 4 Restful,Query,Header,Body,Raw 信息一应俱全, 独有的 proxy 技术加持为您冲破内网的束缚
DOClever 官网: http://www.doclever.cn/controller/index/index.html DOClever GitHub: https://github.com/sx1989827/DOClever
RAP2 接口管理工具
阿里妈妈前端团队出品的开源接口管理工具 RAP 第二代,RAP 通过 GUI 工具帮助 WEB 工程师更高效的管理接口文档,同时通过分析接口结构自动生成 Mock 数据、校验真实接口的正确性,使接口文档成为开发流程中的强依赖。有了结构化的 API 数据,RAP 可以做的更多,而我们可以避免更多重复劳动。基于 RAML 的接口定义、文档生成、Mock Server 完成了定义和使用的分离,通过一套规范完成的接口定义,可以用不同的工具得到适应不同 API 管理系统的输出,有更多的可能性,同时保持了核心定义不变。RAP 较之于 RAML,前者更加集中,所有的定义、文档、mock 都在同一个服务中完成,并且实时生效,方便快捷,如果只考虑方便易用,RAP 是更好的选择,而 RAML 显得更加繁琐,更适合于公开的接口定义,方便在各个系统之间流转。
github 源码地址:https://github.com/thx/rap2-delos
- 更多测试技术分享、学习资源以及一些其他福利可关注公众号:【Coding 测试】获取: