Apifox|API 文档和开发闭环初体验

SpringCloud

Posted by Claire on July 3, 2023

Apifox是一款集文档、接口定义、数据模拟、自动化测试为一体的接口协作平台。

据功能介绍,基本总结Apifox = Postman + Swagger + Mock + JMeter

使用体验:

  • 支持多项目协作、单数据集公用、支持自动生产文档
  • 是一款集合多种组件的混合产品,能够将开发、测试协作集中在一个平台,提升效率,统一标准
  • 提供IDEA插件,可以一键导出、接口一键测试,便于开发自测
  • 实话实说,自动化测试方面能力不足,功能不完善的地方会提示导出jmeter格式的文档,让去jmeter测试

关于平台

  • 可建立多项目
  • 可管理多成员
  • 支持配置成员的可见项目以及权限,很好的管理产品、项目、开发、测试、运维等多种角色的员工
  • 游客可以查看文档
  • 团队项目的管理可以移交和解散
  • 支持快捷查看最近访问和个人的收藏
  • API HUB可以快速访问全网公开的API文档,例如微信、钉钉等大厂的API文档可以一键引入与测试,提升能效

关于[Swagger]部分功能

  • 可以建立项目、模块,在模块内根据功能设计编写接口文档,文档包含名称、负责人、接口入参的定义、返回值的定义、入参示例、返回值示例
  • 可设置在不同环境下的API文档情况
  • 参数参考值,支持根据mockJS内置和Apifox内置的参数进行模拟,也可自定义
  • 具备根据文档配置生成代码的逆向工程能力(支持多种语言、框架)
  • 可以导出Swagger\html\markdown多种文档形式,使其使用成本更低,与类似系统做更好地兼容,便于切换使用
  • 很多遍历的点:重复的数据类型可以快速继承,json数据等可以使用数据导入自动识别格式与字段

关于[Postman]部分功能

  • 可以通过文档一键运行,自动mock入参,减轻开发人员模拟数据的困扰,从无规则的mock中可能可以测试出新问题
  • 可将单次测试结果快速保存为用例(绑定成功、失败、正常、权限未登录等等快捷场景)
  • 接口测试可以快速与文档联动,在实际测试中发现返回值与文档相比有变化,可以直接将响应结果作为一个示例去更新文档的定义
  • postman的数据可以快速一键导入apifox,也是便于切换使用。导入可以一键入组、一键覆盖。
  • 根据环境绑定接口相关参数
  • 快捷请求可以不写文档直接将调用保存

关于[Mock]部分功能

  • 基本就是继承了MockJS的内容,包含mockjs的语法,让mockJS的便捷供前后端共同使用
  • 支持添加“期望”,根据请求参数返回不同 mock 数据
  • 内置大量常用的mock逻辑,让基础接口测试不懂mockjs语法就能调用

关于[Jmeter]部分功能

  • 能够正常对于接口设置前置与后置校验
  • 能够对接口顺序与执行流程进行编排
  • 能够使用模拟数据或外部数据进行测试
  • 能够单线程测试、多线程测试,生成测试报告
  • 相比Jmeter在压测领域多年的沉淀,Apifox如果想完善这部分性能和可靠性还需要努力。自己使用的时候,压测性能、稳定性不能满足需求,小规模测测是可以。

做一个技术人员,如何看Apifox?

  • 初始Apifox,我会对他的功能稍许有点眼花缭乱。就是因为它是多个组件的组合,多而不精是不可避免的,主要还是看整个项目的取舍。
  • 它讲求一个完整、规范的功能开发流程,可以项目初期将项目计划书、产品文档提交到项目内,项目随之推进,可以在apifox内完成接口的定义,接口的测试,根据测试报告结果支撑上线发版。
  • 小型企业有完整产品线的,人员少、职责没有那么清晰,可以使用这个平台。从运维角度、项目迭代角度、技术人员角度都能降本、提效。
  • 小型企业或项目,如果要与外部人员对接接口并管理接口进度的,可以使用这个平台。如果是其余外包、零碎的小项目,没有太大必要。
  • 中大型企业,具有完善的运维组、测试组,具有充足的人力,可以利用专业性更强的团队管理、项目管理、文档管理、测试相关组件,可以不使用这个平台。
  • 不过作为一个目前还是比较活跃的项目,这款国产的软件确实在努力做好并解决国人使用外国专业化软件方面的一些痛点,比如功能收费、细节功能不支持、部分功能不灵活等。它也确实在协助部分中小型项目降本提效,在当前社会条件下确实具有价值。
  • 官网有展示当前功能开发的RoadMap,透明地将项目功能规划告知给公众,也给大家的迁移足够信心,至少还在开发不会跑路。