关于java:比postman更好用的API调试工具apifox永远滴神

48次阅读

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

大家好,我是小林。

作为开软件开发从业者,API 调试是必不可少的一项技能,在这方面 Postman 做的十分杰出。

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

接口治理现状

一、罕用解决方案

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

二、存在的问题

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

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

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

Apifox 解决方案

一、如何解决这些问题

1、Apifox 定位

Apifox = Postman + Swagger + Mock + JMeter

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

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

Apifox 官网下载:apifox.cn

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.apipark.cn/s/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)PostmanHARRAMLRAP2YApiEolinkerNEIDOCleverApiPostApizzaShowDocAPI BlueprintI/O DocsWADLGoogle Discovery等数据格式,不便旧我的项目迁徙。

三、后续性能布局

  1. 接口文档公开对外公布。
  2. 接口性能测试反对(相似 JMeter)。
  3. 反对插件市场,能够本人开发插件。
  4. 反对更多接口协议,如 GraphQLwebsocket 等。
  5. 反对离线应用,我的项目可抉择在线同步(团队合作)还是仅本地存储(单机离线应用)。

四、更多 Apifox 性能截图

五、Apifox 下载地址

请拜访 Apifox 官网下载:apifox.cn

正文完
 0