首页 > 其他分享 >全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)

时间:2022-12-12 21:39:05浏览次数:90  
标签:Postman 接口 全栈 API 文档 调试 ApiFox JMeter Mock


一、ApiFox简介

  • 介绍:ApiFox是一款集成了API 文档、API 调试、API Mock、API 自动化测试等多种功能于一身的一体化协作平台。
  • 功能定位:​​Apifox = Postman + Swagger + Mock + JMeter​​。
  • ​ApiFox软件使用文档​
  • 下载与安装:​​官网下载地址​

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_其他

下载完成后直接安装即可。如果不想安装客户端,也可以直接使用WEB版本,更加轻量级。


二、ApiFox的使用场景

​Apifox​​​ 是接口管理、开发、测试全流程集成工具,使用受众为整个研发技术团队,主要使用者为​​前端开发​​​、​​后端开发​​​和​​测试人员​​。

  • 前端开发
  • 接口文档管理
  • 接口数据 Mock
  • 接口调试
  • 前端代码自动生成
  • 后端开发
  • 接口文档管理
  • 接口调试
  • 接口自动化测试
  • 后端代码自动生成
  • 测试人员
  • 接口调试
  • 接口自动化测试

三、ApiFox以一敌四的优势

在使用Postman + Swagger + Mock + JMeter时,我们常常会遇到如下一些问题:

维护不同工具之间数据一致性非常困难、低效。并且这里不仅仅是工作量的问题,更大的问题是多个系统之间数据不一致,导致协作低效、频繁出问题,开发测试人员痛苦不堪。

  1. 开发人员在 Swagger 定义好文档后,接口调试的时候还需要去 Postman 再定义一遍。
  2. 前端开发 Mock 数据的时候又要去 mockjs 定义一遍,还需要手动设置 Mock 规则。
  3. 测试人员需要去 JMeter 再定义一遍。
  4. 前端根据 mockjs Mock 出来的数据开发完,后端根据 Swagger 定义的接口文档开发完,各自都试测试通过了,本以为可以马上上线,结果一对接发现各种问题:
  • 开发过程中接口变更了,只修改了 Swagger,但是没有及时同步修改 mockjs。
  • 后端开发的接口数据类型和文档不一致,肉眼难以发现问题。
  1. 同样,测试在 JMeter 写好的测试用例,真正运行的时候也会发现各种不一致。
  2. 时间久了,各种不一致会越来越严重。

ApiFox如何解决这些问题?

​Apifox = Postman + Swagger + Mock + JMeter​

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

通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好接口文档,接口调试、数据 Mock、接口测试就可以直接使用,无需再次定义;接口文档和接口开发调试使用同一个工具,接口调试完成后即可保证和接口文档定义完全一致。高效、及时、准确!


四、ApiFox简单入门

安装好客户端(或者使用WEB端)后,就可以直接上手使用:

  • 新建团队和项目:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_数据_02

  • 设置主题:(默认是白色主题)

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_java_03

  • 接口测试:获取天气数据

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_数据_04

运行之后的相应结果如下:

{
"reason": "查询成功!",
"result": {
"city": "杭州",
"realtime": {
"temperature": "14",
"humidity": "55",
"info": "晴",
"wid": "00",
"direct": "东风",
"power": "3级",
"aqi": "140"
},
"future": [
{
"date": "2022-02-27",
"temperature": "8/14℃",
"weather": "晴转多云",
"wid": {
"day": "00",
"night": "01"
},
"direct": "东风转持续无风向"
},
{
"date": "2022-02-28",
"temperature": "9/20℃",
"weather": "多云转小雨",
"wid": {
"day": "01",
"night": "07"
},
"direct": "持续无风向转西北风"
},
{
"date": "2022-03-01",
"temperature": "7/15℃",
"weather": "小雨",
"wid": {
"day": "07",
"night": "07"
},
"direct": "西北风转持续无风向"
},
{
"date": "2022-03-02",
"temperature": "7/17℃",
"weather": "晴转阴",
"wid": {
"day": "00",
"night": "02"
},
"direct": "持续无风向"
},
{
"date": "2022-03-03",
"temperature": "8/14℃",
"weather": "小雨转小到中雨",
"wid": {
"day": "07",
"night": "21"
},
"direct": "持续无风向"
}
]
},
"error_code": 0
}

五、API 接口设计与接口文档

Apifox 接口文档遵循 ​​OpenApi​​​ 3.0 (原 Swagger)、​​JSON Schema​​​ 规范的同时,提供了非常好用的​​可视化​​文档管理功能,零学习成本,非常高效。并且支持在线分享接口文档。

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_postman_05

当我们定义好API接口后,就可以直接在线生成API文档:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_postman_06


六、API 数据 Mock

接口数据 Mock:内置 ​​Mock.js​​​ 规则引擎,非常方便 mock 出各种数据,并且可以在定义数据结构的同时写好 mock 规则。支持添加“期望”,根据请求参数返回不同 mock 数据。最重要的是 Apifox ​​零配置​​ 即可 Mock 出非常人性化的数据,具体在本文后面介绍。

  • 新创建一个Mock接口:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_java_07

  • 定义接口名称和入参:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_其他_08

  • 设置mock相应结果:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_测试工具_09

我们点击预览可以查看生成的随机mock数据(ApiFox最智能的地方就是,他可以根据你设置的mock参数,去自动识别和随机出对应的参数值,例如我们的birthday字段就会被自动识别成生日):

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_postman_10

  • 代码自动生成:

我们可以根据自定义的mock数据接口,去自动生成对应的实体类代码。

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_数据_11

  • 保存mock接口,并运行测试:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_postman_12

测试浏览器访问:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_java_13

七、API 自动化测试

提供接口集合测试,可以通过选择接口(或接口用例)快速创建测试集。目前接口自动化测试更多功能还在开发中,敬请期待!目标是: JMeter 有的功能基本都会有,并且要更好用。

八、数据库集成

如下图所示,ApiFox可以连接远程或者本地数据库,可以作为轻量级的数据库操作可视化工具:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_测试工具_14


新建连接:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_测试工具_15


支持多种源数据导入:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_其他_16

九、在线调试

这个文档是用 Apifox 做的,我之前有试用过这个工具,没想到最近又有这么多厉害的新功能出来了。

点击文档右上角的运行按钮,就会出现“在线运行”的模块:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_其他_17

这个界面上就能直接调试接口了!直接 1. 填参数,2. 选环境,3. 点发送,接口请求就发出去了!下面就有返回结果!根本用不着 Postman!更不用把 API 照着抄一遍!

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_测试工具_18

我心想,如果当时上线之前,用的是 Apifox 的话,那简直是不会出现事故:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_数据_19

参数不存在?我在线调试后获得数据了,通过比对我知道哪个参数不存在
参数类型错误?同样的,在线调试之后,通过比对,我知道哪个参数的类型是错的
接口不存在(是因为接口写错了)?调试的时候就报接口不存在了,第一时间找后端~

十、ApiHub

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_数据_20


ApiHub中集成了很多第三方应用的Api工具,例如:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_java_21


我们举一个高德地图API的使用例子:

效果如下:

全栈开发提效神器——ApiFox(Postman + Swagger + Mock + JMeter)_java_22


当然也可以在这里测试高德地图的其他各种接口调用功能~

其他

此外ApiFox还具备其他多种功能,例如:

  1. 数据模型:可复用的数据结构,定义接口​​返回数据结构​​​及​​请求参数数据结构​​(仅 JSON 和 XML 模式)时可直接引用。支持模型直接嵌套引用,直接 JSON/XML 智能导入,支持 oneOf、allOf 等高级组合模式。
  2. 接口调试:Postman 有的功能,比如环境变量、前置/后置脚本、Cookie/Session 全局共享 等功能,Apifox 都有,并且比 Postman 更高效好用。接口运行完之后点击​​保存为用例​​​按钮,即可生成​​接口用例​​,后续可直接运行接口用例,无需再输入参数,非常方便。自定义脚本 100% 兼容 Postman 语法,并且支持运行 javascript、java、python、php、js、BeanShell、go、shell、ruby、lua 等各种语言代码。
  3. 接口用例:通常一个接口会有多种情况用例,比如​​参数正确​​​用例、​​参数错误​​​用例、​​数据为空​​​用例、​​不同数据状态​​用例等等。运行接口用例时会自动校验数据正确性,用接口用例来调试接口非常高效。
  4. 数据库操作:支持读取数据库数据,作为接口请求参数使用。支持读取数据库数据,用来校验(断言)接口请求是否成功。
  5. 快捷请求:类似 Postman 的接口调试方式,主要用途为临时调试一些​​无需文档化​​的接口,无需提前定义接口即可快速调试。
  6. 代码生成:根据接口及数据数据模型定义,系统自动生成​​接口请求代码​​​、​​前端业务代码​​​及​​后端业务代码​​。
  7. 团队协作:Apifox 天生就是为团队协作而生的,接口云端实时同步更新,成熟的​​团队/项目/成员权限​​管理,满足各类企业的需求。


标签:Postman,接口,全栈,API,文档,调试,ApiFox,JMeter,Mock
From: https://blog.51cto.com/u_14518853/5931854

相关文章

  • Postman+Newman+jenkins实现持续集成接口测试
    1.环境配置1.需要安装nodejs环境1.在CMD命令下执行:node-v和npm-v来查看是否安装了nodejs环境2.安装Newman软件包1. npminstall-g......
  • 《Spring Boot+Vue全栈开发实战》读书笔记
    写在前面嗯,回家处理一些事,所以离职了,之前的公司用开源技术封装了一套自己的低代码平台,所以之前学的springBoot之类的东西都忘了很多,蹭回家的闲暇时间复习下。笔记整体以Sp......
  • postman+springboot一次上传多个文件
     开发中到前端一次上传多个文件的需求如何实现,下面使用postman模拟前端的请求,后端使用srpingboot来实现1、postman设置   2、Java代码@RestController@Reque......
  • postman汉化步骤/postman如何汉化?
    postman汉化步骤postman如何汉化?前言:平时用postman比较多,但是因为是英文的,只用了固定几个功能,其他强大的功能都没有用上。闲来没事想找找有没有汉化包之类的。还真......
  • 全栈开发必备的10款Sublime Text 插件
    全栈开发必备的10款SublimeText插件SublimeText具有漂亮的用户界面和强大的功能,例如代码缩略图,多重选择,快捷命令等。SublimeText 更妙的是它的可扩展性。所以,这里......
  • 这款国产API工具也太强了吧!让我放弃了postman
    为什么弃用postman转用Eolink?程序员在接口开发完成后都通常需要自测,当返回结果根据符合预期时,则表示代表接口可用。自己以前用的是postman来进行接口测试,但postman只能进行......
  • Postman执行接口用例
    postman下载:官方下载地址接口用例:用例编号、模块、测试标题、优先级、前置条件、URL、请求方法、请求参数、预期结果宠物商店:实践接口平台一、创建测试集宠物商店-......
  • jmeter 测试if 表达器
    在jmete中,if控制器中,要注意表达式的写法不同:根据给定表达式的值决定是否执行该节点下的子节点,默认使用javascript的语法进行判断(如下图红框内的文字)。[img]https://img......
  • Jmeter(一):jmeter概述与工作原理,安装与基本配置介绍
     Jmeter(1):jmeter概述与工作原理jmeter概述与工作原理JMeter是Apache基金会Jakarta上的一个纯Java开源项目,起初用于基于Web的压力测试(pressuretest),后来其应......
  • jmeter之定时器
    Jmeter提供的定时器类型固定定时器高斯随机定时器UniformRandomTimerSynchronizingTimerPoissonRandomTimerJSR223TimerConst......