关于后端:Apifox才是最强Postman替代品看看国产软件到底有对牛

69次阅读

共计 3575 个字符,预计需要花费 9 分钟才能阅读完成。

作为软件开发从业者,API 调试是必不可少的一项技能,在这方面 Postman 做的十分杰出。然而在整个软件开发过程中,API 调试只是其中的一部分,还有很多事件 Postman 无奈实现,或者 无奈高效实现,比方:API 文档定义、API Mock、API 自动化测试等等。Apifox 就是为了解决这个问题而生的。

接口治理现状

一、罕用解决方案

  1. 应用 Swagger 治理 API 文档
  2. 应用 Postman 调试 API
  3. 应用 MockJs 等工具 Mock API 数据
  4. 应用 JMeter 做 API 自动化测试

二、存在的问题

保护不同工具之间数据一致性十分艰难、低效。并且这里不仅仅是工作量的问题,更大的问题是多个零碎之间数据不统一,导致合作低效、频繁出问题,开发测试人员痛苦不堪。

  1. 开发人员在 Swagger 定义好文档后,接口调试的时候还须要去 Postman 再定义一遍。
  2. 前端开发 Mock 数据的时候又要去 MockJs 定义一遍,还须要手动设置 Mock 规定。
  3. 测试人员须要去 JMeter 再定义一遍。
  4. 前端依据 MockJs Mock 进去的数据开发完,后端依据 Swagger 定义的接口文档开发完,各自都试测试通过了,本认为能够马上上线,后果一对接发现各种问题:

    • 开发过程中接口变更了,只批改了 Swagger,然而没有及时同步批改 MockJs。
    • 后端开发的接口数据类型和文档不统一,肉眼难以发现问题。
  5. 同样,测试在 JMeter 写好的测试用例,真正运行的时候也会发现各种不统一。
  6. 工夫久了,各种不统一会越来越重大。

Apifox 解决方案

一、如何解决这些问题

1、Apifox 定位

Apifox = Postman + Swagger + Mock + JMeter

Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化合作平台。

通过一套零碎、一份数据,解决多个零碎之间的数据同步问题。只有定义好接口文档,接口调试、数据 Mock、接口测试就能够间接应用,无需再次定义;接口文档和接口开发调试应用同一个工具,接口调试实现后即可保障和接口文档定义完全一致。高效、及时、精确!

2、Apifox 主旨

节俭研发团队的每一分钟!

3、Apifox 性能

  1. 接口设计 :Apifox 接口文档遵循 OpenApi 3.0 (原 Swagger)、JSON Schema 标准的同时,提供了十分好用的 可视化 文档治理性能,零学习老本,十分高效。并且反对在线分享接口文档。
  2. 数据模型 :可复用的数据结构,定义接口 返回数据结构 申请参数数据结构(仅 JSON 和 XML 模式)时可间接援用。反对模型间接嵌套援用,间接 JSON/XML 智能导入,反对 oneOf、allOf 等高级组合模式。
  3. 接口调试 :Postman 有的性能,比方环境变量、前置 / 后置脚本、Cookie/Session 全局共享 等性能,Apifox 都有,并且比 Postman 更高效好用。接口运行完之后点击 保留为用例 按钮,即可生成 接口用例,后续可间接运行接口用例,无需再输出参数,十分不便。自定义脚本 100% 兼容 Postman 语法,并且反对运行 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等各种语言代码。
  4. 接口用例 :通常一个接口会有多种状况用例,比方 参数正确 用例、参数谬误 用例、数据为空 用例、不同数据状态 用例等等。运行接口用例时会主动校验数据正确性,用接口用例来调试接口十分高效。
  5. 接口数据 Mock:内置 Mock.js 规定引擎,十分不便 mock 出各种数据,并且能够在定义数据结构的同时写好 mock 规定。反对增加“冀望”,依据申请参数返回不同 mock 数据。最重要的是 Apifox 零配置 即可 Mock 出十分人性化的数据,具体在本文前面介绍。
  6. 数据库操作 :反对读取数据库数据,作为接口申请参数应用。反对读取数据库数据,用来校验(断言) 接口申请是否胜利。
  7. 接口自动化测试:提供接口汇合测试,能够通过抉择接口(或接口用例)疾速创立测试集。目前接口自动化测试更多功能还在开发中,敬请期待!指标是:JMeter 有的性能根本都会有,并且要更好用。
  8. 快捷调试 :相似 Postman 的接口调试形式,主要用途为长期调试一些 无需文档化 的接口,无需提前定义接口即可疾速调试。
  9. 代码生成 :依据接口及数据数据模型定义,零碎主动生成 接口申请代码 前端业务代码 后端业务代码
  10. 团队合作 :Apifox 天生就是为团队合作而生的,接口云端实时同步更新,成熟的 团队 / 我的项目 / 成员权限 治理,满足各类企业的需要。

二、Apifox 做的不仅仅是数据买通

如果你认为 Apifox 只做了数据买通,来晋升研发团队的效率,那就错了。Apifox 还做了十分多的翻新,来晋升开发人员的效率。

1、接口反对“用例治理”

通常一个接口会有多种状况用例,比方 正确用例 参数谬误用例 数据为空用例 不同数据状态用例。定义接口的时候定义好这些不同状态的用例,接口调试的时候间接运行,十分高效。

2、“数据模型”定义、援用

能够独立定义数据模型,接口定义时能够间接援用数据模型,数据模型之间也能够互相援用。同样的数据结构,只须要定义一次即可多处应用;批改的时候只须要批改一处,多处实时更新,防止不统一。

3、调试时“主动校验”数据结构

应用 Apifox 调试接口的时候,零碎会依据接口文档里的定义,主动校验返回的数据结构是否正确,无需通过肉眼辨认,也无需手动写断言脚本检测,十分高效!

4、“可视化”设置断言

设置断言:

运行后,查看断言后果:

5、“可视化”设置提取变量

6、反对数据库操作

7、“零配置”Mock 出十分人性化的数据

先放一张图比照下 Apifox 和其余同类工具 零配置 mock 进去的数据成果:

能够看出 Apifox 零配置 Mock 进去的数据和真实情况是十分靠近的,前端开发能够间接应用,而无需再手动写 mock 规定。

Apifox 如何做到 高效率 零配置 生成十分人性化的 mock 数据

  1. Apifox 依据接口定义里的数据结构、数据类型,主动生成 mock 规定。
  2. Apifox 内置智能 mock 规定库,依据字段名、字段数据类型,智能优化主动生成的 mock 规定。如:名称蕴含字符串 imagestring类型字段,主动 mock 出一个图片地址 URL;蕴含字符串 timestring类型字段,主动 mock 出一个工夫字符串;蕴含字符串 citystring类型字段,主动 mock 出一个城市名。
  3. Apifox 依据内置规定,可自动识别出图片、头像、用户名、手机号、网址、日期、工夫、工夫戳、邮箱、省份、城市、地址、IP 等字段,从而 Mock 出十分人性化的数据。
  4. 除了内置 mock 规定,用户还能够自定义规定库,满足各种个性化需要。反对应用 正则表达式 通配符 来匹配字段名自定义 mock 规定。

8、生成在线接口文档

Apifox 我的项目可“在线分享”API 文档,分享进来的 API 文档可设置为公开或须要明码拜访,十分不便与内部团队合作。

体验地址:https://www.apifox.cn/apidoc/shared-ce387612-cfdb-478a-b604-b96d1dbc511b/http/5041285

9、代码主动生成

依据接口模型定义,主动生成各种语言 / 框架(如 TypeScript、Java、Go、Swift、ObjectiveC、Kotlin、Dart、C++、C#、Rust 等)的业务代码(如 Model、Controller、单元测试代码等)和接口申请代码。目前 Apifox 反对 130 种语言及框架的代码主动生成。

更重要的是:你能够通过 自定义代码模板 来生成合乎本人团队的架构标准的代码,满足各种个性化的需要。

10、导入、导出

  1. 反对导出 OpenApi (Swagger)MarkdownHtml 等数据格式,因为能够导出 OpenApi 格局数据,所以你能够利用 OpenApi (Swagger) 丰盛的生态工具实现各种接口相干的事件。
  2. 反对导入 OpenApi (Swagger)PostmanapiDocHARRAMLRAP2YApiEolinkerNEIDOCleverApiPostApizzaShowDocAPI BlueprintI/O DocsWADLGoogle Discovery等数据格式,不便旧我的项目迁徙。
  3. 反对 定时主动 导入 OpenApi (Swagger)apiDocApifox 格局数据。

三、后续性能布局

  1. 公布 Apifox WEB 版,反对在浏览器端应用 Apifox。
  2. 接口性能测试反对(相似 JMeter)。
  3. 反对插件市场,能够本人开发插件。
  4. 凋谢 Apifox API,容许开发者通过 API 调用 Apifox 的性能。
  5. 反对更多接口协议,如 GraphQLgRPCwebsocket 等。
  6. 反对离线应用,我的项目可抉择在线同步(团队合作)还是仅本地存储(单机离线应用)。

四、更多 Apifox 性能截图

正文完
 0