有了它,你还想用postman吗

2023-11-10

Apifox 介绍

Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter。通过一套系统、一份数据,解决多个系统之间的数据同步问题。只要定义好 API 文档,API 调试、API 数据 Mock、API 自动化测试就可以直接使用,无需再次定义;API 文档和 API 开发调试使用同一个工具,API 调试完成后即可保证和 API 文档定义完全一致。高效、及时、准确!
在这里插入图片描述

接口管理现状

一、常用解决方案

  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 功能

  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 调试接口的时候,系统会根据接口文档里的定义,自动校验返回的数据结构是否正确,无需通过肉眼识别,也无需手动写断言脚本检测,非常高效!

Apifox 自动校验数据结构

4、“可视化”设置断言

设置断言:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KWY9KDgG-1646218064691)(https://cdn.apifox.cn/www/assets/image/article/main/assertion-1.png)]

运行后,查看断言结果:

img

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

img

6、支持数据库操作

img

7、“零配置”Mock 出非常人性化的数据

先放一张图对比下 Apifox 和其他同类工具 零配置 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

img

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 下载地址

请访问 Apifox 官网下载:https://www.apifox.cn/

API Hub

开放 API 共享平台,发现更多公开 API 项目

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有了它,你还想用postman吗 的相关文章

随机推荐

  • DataWhale Linux——Task01 Linux简介

    目录 什么是Linux Linux的优点 常用发行版 什么是Linux Linux 全称为GNU Linux 是一种免费使用和自由传播的类UNIX操作系统 我们常说的Linux 是指Linux内核 Linux的优点 开源免费 多用户 多任务
  • 预备1-window常用快捷键

    window常用快捷键 快捷键有很多很多 开发程序 刚入门只需要掌握简单的 菜单键 和书本一样的按键 鼠标的右键 1 查看 菜单 v gt gt gt gt 常用于 隐藏桌面图标 gt gt gt 菜单 v d 2 刷新 菜单键 E 3 新
  • 多功能透明屏,在智能家居领域中,有哪些功能特点?显示、连接

    多功能透明屏是一种新型的显示技术 它能够在透明的表面上显示图像和视频 并且具有多种功能 这种屏幕可以应用于各种领域 如商业广告 智能家居 教育等 为用户提供更加便捷和多样化的体验 首先 多功能透明屏可以用于商业广告 传统的广告牌通常是单一的
  • 一文教你如何用C代码解析一段网络数据包?【含代码】

    本文的目的是通过随机截取的一段网络数据包 然后根据协议类型来解析出这段内存 学习本文需要掌握的基础知识 网络协议 C语言 Linux操作 抓包工具的使用 其中抓包工具的安装和使用见下文 一文包你学会网络数据抓包 视频教学链接如下 教你如何抓
  • shell编写监控httpd服务80端口脚本.间隔3秒监控端口如果服务关闭自动重启

    bin bash 实时每隔3秒监控HTTP服务状态 服务异常输出报警信息 并尝试启动 服务正常时提示正常运行 web netstat ant grep 80 awk print 4 awk F print 4 apachelog var l
  • Redis在项目中的应用

    在aop模式下使用redis 的方式 1 添加依赖
  • 设计模式之美(王争)摘录总结

    经过八个月的学习 极客时间中王争的设计模式之美 最近又重读两遍 读书百遍其义自现 真是遍受益匪浅啊 学习之后才知道代码可以这样设计这样优美的编写 觉得自己有摘录一些在学习中认为比较好的精华 以备自己以后的查用和复习 设计模式要干的事情就是解
  • javaweb-时间格式Date的各种转换

    文章目录 package util import org junit Test import java text DateFormat import java text ParseException import java text Sim
  • 数据库原理之如何设计一个ER模型

    数据库原理之如何设计一个ER模型 前言 这里是 数据库系统原理 系列文章 主要介绍数据库系统理论以及数据库实用技术 数据库技术是计算机学科中的一个重要分支 它的应用非常广泛 几乎涉及所有的应用领域 关于作者 小白 Libra 计算机兴趣爱好
  • gazebo_ros_control plugin: GazeboRosControlPlugin missing DefaultRobotHWSim

    运行gazebo ros control出现了这个错误 只要在对应的 gazebo文件中添加一行
  • gis怎么提取水系_arcgis水系提取流程(dem)

    内容来自用户 2527092 以鸭绿江流62616964757a686964616fe78988e69d8331333433646365域为例 DEM文件名为YLJdem img 研究区域矢量边界为ylj Output evf 统一处理得到
  • Java UUID生成4位8位16位20位24位32位长度的随机字符串 UUIDUtil工具类

    import sun misc BASE64Encoder public class UUIDUtil 采用URL Base64字符 即把 换成 static private char alphabet ABCDEFGHIJKLMNOPQR
  • 无线ap ntp服务器,我有一优科 ZoneFlex 7982 的无线AP,怎样可以进AP系统进行设置...

    满意答案 zisedeL 2015 10 09 采纳率 49 等级 7 已帮助 308人 1 用手机或笔记本连上优科 产品反面MAC地址后6位 的无线信号 2 1 xp系统 右击网络邻居选择属性 看到无线网络连接再右击选择属性 选择Inte
  • pygame游戏模块详解

    目录 一 下载pygame第三方模块 二 pygame模块知识点化 把模块分为n多个知识点 1 使用pygame知识制作一个可以关闭的空白窗体 这里我就不用文字说明了 直接上代码 简洁明了 2 使用精灵显示背景 背景的循环展示 3 使用精灵
  • Win11:软件图标丢失

    问题描述 Win11 软件图标丢失 有空白的 也有带图案的 问题截图 开始页面 桌面 问题原因 文件路径权限丢失 权限异常 解决方案 有用 添加权限 文件夹右键 属性 安全 高级 更改 高级 立即查找 选择当前登录账户 一路点击确定 应用即
  • PFR简介---Cisco技术

    什么是 PfR Performance Routing PfR 是 Cisco Systems 的最新 WAN 线路优化技术 能够发挥现有 Cisco 设备的作用 该技术可以优化两条或更多条 WAN 连接之间的流量 既可以节省带宽成本 又能
  • 恶意流量监测开源系统:Maltrail

    20210309 0 引言 一般来说 通过IDS来监测一些攻击流量 或者说恶意流量也是可以的 但是现在看到的这个开源软件 1 是专门利用IOC来识别恶意流量 具体细节我没有深入去研究 例如流量捕获部分到底是什么引擎来启动的 1 系统简介 在
  • 【STM32+cubemx】0020 HAL库开发:以太网ENC28J60芯片和TCP、UDP简单应用

    MCU通过以太网通信有很多种方式 有的内部自带以太网接口 如stm32f107的某些型号 如果没有 也可以在外围连接以太网芯片来实现 外接的以太网芯片 又分为带网络协议栈和不带协议栈的 带网络协议栈的典型如W5500 不带网络协议栈的典型的
  • python数据分页pandas_使用python pandas&刮分页网页表美丽的汤

    I am a beginner in python pandas i am trying to scrap a paginated table using beautiful soup package the data is scraped
  • 有了它,你还想用postman吗

    Apifox 介绍 Apifox 是 API 文档 API 调试 API Mock API 自动化测试一体化协作平台 定位 Postman Swagger Mock JMeter 通过一套系统 一份数据 解决多个系统之间的数据同步问题 只要