Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Apifox:满足你对 Api 的所有幻想

Apifox:满足你对 Api 的所有幻想

作者头像
不吃西红柿
发布于 2022-09-19 03:23:47
发布于 2022-09-19 03:23:47
1.1K00
代码可运行
举报
文章被收录于专栏:信息技术智库信息技术智库
运行总次数:0
代码可运行

文章目录

⌚️ 一、Api 管理的难点在哪?

相信无论是前端,还是后端的测试和开发人员,都遇到过这样的困难。不同工具之间数据一致性非常困难、低效。多个系统之间数据不一致,导致协作低效、频繁出问题,开发测试人员痛苦不堪。

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

📱 二、Apifox 是什么?

Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter。

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

接下来,我将从以下几个方面逐一演示介绍:

  • API 文档设计
  • API 调试
  • API 自动化测试
  • API 数据 Mock
  • CI 持续集成
  • 数据库操作
  • 自动生成代码
  • 支持 HTTP、TCP、RPC
  • 数据导入/导出
  • 团队协作

💿 三、接口设计 (接口文档)

⌨️ 3.1 接口文档

接口设计即定义接口文档规范(如接口路径、参数、返回值、数据结构等)。

和 Postman 不一样,[Apifox] 是区分接口设计接口运行两个概念的。

  • 接口设计:即 新建接口 界面或接口详情里的 编辑 界面,用途是 定义接口文档规范,而不是 运行 接口,所以该界面是只能定义接口基本信息、参数名及参数说明等,而不能设置参数值参数值前置脚本/后置脚本 等信息请在接口运行界面或接口用例界面填写。
  • 接口运行:即接口详情里的 运行 界面,用途是 临时调试接口运行 完后,需要点击保存为用例,才能将填写的 参数值前置脚本/后置脚本 等信息保存下来;否则关闭 tab 后,这些信息将会丢失。

💻 3.2 快速上手

  1. 点击左侧搜索框旁边的 + 号按钮即可打开新建窗口,也可使用 快捷键 Ctrl(⌘) + N。
  1. 在打开的窗口中,直接定义接口相关信息。

🖨 3.3 接口路径

以斜杠/起始的接口 path 部分,如/pets/pets/{id}

  1. 接口路径 建议不要包含 HTTP 协议及域名,这部分建议在 环境管理前置URL里设置,接口调试时的 URL 会自动加上当前环境的前置URL
  2. 特殊情况需在接口路径要带上HTTP 协议及域名的,系统也能支持,但不建议这么做。接口调试时,系统如检测到接口路径是以http://https://起始的,会自动忽略当前环境里前置 URL。
  3. Apifox 中的 Path 参数是以大括号包裹起来表示,而非冒号起始表示。正确示例/pets/{id}错误示例/pets/:id
  4. 接口路径 不可包含Query 参数(即 URL 中 ?后的参数),Query 参数在下方请求参数部分填写。

💽 四、团队管理

成员权限分成两个部分:团队权限和成员权限。团队权限指成员对团队操作的权限,项目权限指成员对项目操作的权限。

📽 4.1 权限管理

团队角色分所有者、管理者和普通用户,对应权限如下:

权限名称

所有者

管理员

普通成员

修改团队资料

×

×

移交团队

×

×

解散团队

×

×

查看成员权限列表

×

修改成员权限

×

邀请/移出成员

×

⏱ 4.2 项目权限

为了满足团队的多层次管理需求,每个成员可以按项目设置管理员、普通成员、只读成员、禁止访问的角色,对应权限如下:

权限名称

管理员

普通成员

只读成员

禁止访问

项目增删改

×

×

×

项目信息修改

×

×

×

访问接口文档

×

接口增删改

×

×

接口查看调试

×

用例增删改

×

×

用例查看和运行

×

测试套件增删改

×

×

测试套件运行

×

数据模型增删改

×

×

数据模型查看

×

环境增删改

×

×

Mock 规则增删改

×

×

公共 Response 增删改

×

×

公共脚本增删改

×

×

数据库连接增删改

×

×

自定义函数增删改

×

×

变量增删改

×

×

变量本地值设置

×

导入导出数据

×

×

×

📞 4.3 使用说明

当需要修改权限或查看成员权限时,可以点击左上角的 项目名称 ,进入团队页面。在对应的项目下点击 成员/权限 tab,点击对应成员的 设置,就可以看到该成员在该项目内的团队权限和项目权限,并根据需要进行修改。

☎️ 五、团队协作流程

  1. 前端(或后端)在 [Apifox] 上定好接口文档初稿。
  2. 前后端 一起评审、完善接口文档,定好接口用例
  3. 前端 使用系统根据接口文档自动生成的 Mock 数据进入开发,无需手写 mock 规则。
  4. 后端 使用接口用例 调试开发中接口,只要所有接口用例调试通过,接口就开发完成了。如开发过程中接口有变化,调试的时候就自动更新了文档,零成本的保障了接口维护的及时性。
  5. 后端 每次调试完一个功能就保存为一个接口用例
  6. 测试人员 直接使用接口用例测试接口。
  7. 所有接口开发完成后,测试人员(也可以是后端)使用集合测试功能进行多接口集成测试,完整测试整个接口调用流程。
  8. 前后端 都开发完,前端从Mock 数据切换到正式数据,联调通常都会非常顺利,因为前后端双方都完全遵守了接口定义的规范。

📠 六、导入数据

🎙 6.1 功能说明

支持导入 OpenApi (原Swagger)PostmanHARRAMLRAP2JMeterYApiEolinkerNEIDOCleverApiPostApizzaDOCWAYShowDocapiDocI/O DocsWADLGoogle Discovery等数据格式,方便旧项目迁移。

⏰ 6.2 手动导入

打开 项目设置 面板,点击 手动导入 ,可选择文件导入或 URL 导入。

以导入 Apifox 格式为例,导入可选内容包括:接口、数据模型、环境、测试用例、测试套件

📡 七、导出数据

💎 7.1 功能说明

  1. 支持直接导出 OpenAPI (原Swagger)HTMLMarkdownApifox等数据格式。
  2. OpenAPI (Swagger) 支持导出 3.13.02.0 版本。
  3. OpenAPI (Swagger) 支持导出离线文件,或直接打开 URL。

💵 7.1 导出 PDF、Word 方法

目前还不支持直接导出 PDFWord 等其他格式数据,但可使用外部工具将Markdown转为对应格式。

如使用 [Typora] 即可将 Markdown 导出为 PDFWordOpenOfficeEpub等格式。

📺 八、Mock 语法

Apifox Mock 语法完全兼容 Mock.js (数据占位符方式),并扩展了一些 Mock.js 没有的语法(如国内手机号 @phone)。

如现有 Mock 语法无法满足需求,建议使用 正则表达式 @regexp 来实现灵活的定制。正则表达式基本能满足各种特殊场景的需求。

🔋 8.1 基本写法

写法

说明

以@起始的字符串

调用 Mock 语法规则生成对应的数据。

如生成的数据类型和定义的数据类型不一致,则会自动转换。

非@起始的字符串

数据类型为string时,原样输出。

其他数据类型,会将字符串自动转换到对应的数据类型。

特殊字符:null

数据类型允许为null 时,输出null。

否则自动转换,如数据类型为string,输出"null"。

特殊字符:true

数据类型为boolean 时,输出true。

否则自动转换,如数据类型为string,输出"true"。

特殊字符:false

数据类型为boolean 时,输出false。

否则自动转换,如数据类型为string,输出"false"。

自动转换 是使用 javascript 语言默认数据转换方法进行转换。

🔌 8.2 正则表达式

规则

示例

示例结果

@regexp( regexp )

@regexp(/\d+/)

“36436”

@regexp(/\d{3,5}/)

“343”

@regexp(/^[a-zA-Z][A-Za-z0-9_-.]+@gmail.com$/)

“ifa3dt@gmail.com”

注意:

  • Apifox 版本号大于等于 1.0.12 才支持正则表达式。
  • regexp 参数必须以 / 起始和结尾。

📟 九、脚本

[Apifox] 包含一个基于Javascript的脚本引擎,通过脚本(JavaScript代码片段)可实现在接口请求或集合测试时添加动态行为。

📼 9.1 脚本可实现的功能

  1. 测试(断言)请求返回结果的正确性(后置脚本)。
  2. 动态修改接口请求参数,如增加接口签名参数等(前置脚本)。
  3. 接口请求之间传递数据(使用脚本操作变量)。
  4. 脚本可以直接 调用其他语言编写的程序,支持java(.jar)pythonphpjsBeanShellgoshellrubyLua 等语言编写的外部程序。
  5. 其他。

☎️ 9.2 使用方式

以下两个环节可添加脚本:

  1. 在将请求发送到服务器之前,使用 前置脚本
  2. 收到响应后,使用 后置脚本(断言测试)

🔨 9.3 全局脚本和分组脚本

  1. 支持全局设置(在项目概览里设置)前置操作、后置操作,设置后项目里的所有接口运行时都会生效。
  2. 支持分组里设置前置操作、后置操作,设置后分组里的所有接口运行时都会生效。

接口请求的执行流程如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[全局前置脚本] -> [分组前置脚本] -> [接口前置脚本] -> [发送接口请求] -> [返回接口结果] -> [全局后置脚本] -> [分组后置脚本] -> [接口后置脚本]

🗑 9.4 调试脚本

调试脚本可以在 前置脚本后置脚本 里编写,使用console.log('hello')方式将调试信息写入控制台,打开 控制台 即可查看。

🛢 十、快捷键

为了提高你的开发效率,也可使用各种快捷键:

功能

Windows / Linux

macOS

新建接口

Ctrl + N

⌘ + N

新建快捷调试

Ctrl + T

⌘ + T

保存接口 / 保存用例

Ctrl + S

⌘ + S

发送请求

Ctrl + Enter

⌘ + Enter

切换到【运行】Tab

Ctrl + Enter

⌘ + Enter

关闭 Tab

Ctrl + W

⌘ + W

强制关闭 Tab

Ctrl + Alt + W

⌘ + Option + W

切换到下一个 Tab

Ctrl + Tab 或 Ctrl + PageDown

⌘ + Option + 向右箭头键 或 ⌘ + Shift + ]

切换到上一个 Tab

Ctrl + Shift + Tab 或 Ctrl + PageUp

⌘ + Option + 向左箭头键 或 ⌘ + Shift + [

跳转到特定标签页

Ctrl + 1 到 Ctrl + 8

⌘ + 1 到 ⌘ + 8

跳转到最后一个标签页

Ctrl + 9

⌘ + 9

导入数据

Ctrl + O

⌘ + O

导入抓包数据 (cURL)

Ctrl + I

⌘ + I

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
猿如意中的【ApiFox】工具的安装与使用教程,超详细,保姆级教程看这一篇文章就够了。
猿如意是一款面向开发者的辅助开发工具箱,包含了效率工具、开发工具下载,教程文档,代码片段搜索,全网搜索等功能模块。帮助开发者提升开发效率,帮你从“问题”找到“答案”。
跟着飞哥学编程
2022/12/15
2.1K0
猿如意中的【ApiFox】工具的安装与使用教程,超详细,保姆级教程看这一篇文章就够了。
告别繁琐,Apifox让API开发、测试更轻松!Apifox = Postman + Swagger + Mock + JMeter API 设计、开发、测试一体化协作平台
Apifox 是集 API 文档、API 调试、API Mock、API 自动化测试多项实用功能为一体的 API 管理平台,定位为 Postman + Swagger + Mock + JMeter。旨在通过一套系统、一份数据,解决多个工具之间的数据同步问题。只需在 Apifox 中定义 API 文档;API 调试、API 数据 Mock、API 自动化测试等功能就可以直接使用,无需再次定义。API 文档和 API 开发调试流程在同一个工具内闭环,API 调试完成后即可确保与 API 文档定义完全一致。高效、及时、准确!
汀丶人工智能
2024/06/06
1.6K0
告别繁琐,Apifox让API开发、测试更轻松!Apifox = Postman + Swagger + Mock + JMeter API 设计、开发、测试一体化协作平台
接口测试神器Apifox
Apifox = Postman + Swagger + Mock + JMeter
软件测试君
2020/09/07
1.5K0
接口测试神器Apifox
API工具--Apifox和Postman对比(区别)
Postman和Apifox有什么区别?他们之间分别有什么优势,感兴趣的同学可以继续往下看。 不吹不黑,只列功能,纯客观比对。
物立
2022/06/15
2K0
替代 Postman + Swagger!Apifox 才是 YYDS!
作为一个后端开发,我做的大部分项目一般都是基于 Swagger 来管理 API 文档,基于 Postman 来做接口调试,基于 JMeter 来做接口性能测试,基于 RAP 等工具 Mock API 数据。
Guide哥
2022/02/18
7820
替代 Postman + Swagger!Apifox 才是 YYDS!
取代 Postman + Swagger!这款神器功能更强,界面更炫酷!
SpringBoot实战电商项目mall(50k+star)地址:github.com/macrozheng/…
玖柒的小窝
2021/12/03
4560
取代 Postman + Swagger!这款神器功能更强,界面更炫酷!
Apifox 教程
维护不同工具之间数据一致性非常困难、低效。并且这里不仅仅是工作量的问题,更大的问题是多个系统之间数据不一致,导致协作低效、频繁出问题,开发测试人员痛苦不堪。
派大星在吗
2021/12/05
2.5K0
Apifox --- 全套服务提升了团队效率,让研测之间充满了爱(记Apifox在工程中的实际应用)【云原生】
文初提个小问题,你有用过Apifox么?知道Apifox有哪些功能呢?欢迎小伙伴们留言告诉我。
码农飞哥
2022/12/08
8470
Apifox --- 全套服务提升了团队效率,让研测之间充满了爱(记Apifox在工程中的实际应用)【云原生】
让后端开发写个 API 文档就有那么难吗?
作为一个前后端分离模式开发的团队,我们经常会看到这样的场景:前端开发和后端开发在一起热烈的讨论“你这接口参数怎么又变了?”,“接口怎么又不通了?”,“稍等,我调试下”,“你再试试..."。
Vam的金豆之路
2021/12/01
1.3K0
让后端开发写个 API 文档就有那么难吗?
Apifox,一款API一站式服务工具
作为开发者,包括前端、后端、测试人员最离不开的一个工具就是Postman,方便我们用来做API接口进行调试。但 Postman并不完全符合我们对API的各种需求,比如维护API文档、API Mock、API自动化测试等等。最近发现一款API一站式服务的工具:Apifox,毫不夸张的说吊打Postman!
Vam的金豆之路
2021/12/16
2K0
Apifox,一款API一站式服务工具
效率神器Apifox_API 文档、API 调试、API Mock、API 自动化测试工具推荐
Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台,定位 Postman + Swagger + Mock + JMeter。
小小工匠
2022/09/27
1.8K0
效率神器Apifox_API 文档、API 调试、API Mock、API 自动化测试工具推荐
Apifox 接口文档设计和调试教程【工具篇】
Apifox 不是一个传统的测试工具,Apifox 更像是一个团队协作工具,围绕着接口开发文档,为我们规范了开发的整个流程。
码哥字节
2022/10/28
2.7K0
Apifox 接口文档设计和调试教程【工具篇】
细数国产接口协作平台的六把武器!
软件界发展至今,API(接口)的重要性日益凸显——不同的端,不同的模块都在通过API交互,不同角色的成员也都在围绕着接口展开工作。在这个前提下,一款集文档、接口调试、Mock、接口自动化测试一体的接口协作平台变得尤为必须。市面上优秀的接口调试工具如Postman、JMeter如雨后春笋般涌现,各大厂也在自研接口协作平台。
物立
2022/07/27
4130
超强接口协作平台如何打造:细数Apifox的六把武器
软件界发展至今,API(接口)的重要性日益凸显——不同的端,不同的模块都在通过API交互,不同角色的成员也都在围绕着接口展开工作。在这个前提下,一款集文档、接口调试、Mock、接口自动化测试一体的接口协作平台变得尤为必须。市面上优秀的接口调试工具如Postman、JMeter如雨后春笋般涌现,各大厂也在自研接口协作平台。
云深i不知处
2022/10/05
9840
超强接口协作平台如何打造:细数Apifox的六把武器
Apifox—诠释国产接口管理工具新高度
曾经在对于接口管理和调试工作上,大量的开发者往往会选择使用Swagger做接口文档管理,用Postman做接口调试工具,然而这样使用的痛处其实也不言而喻,原本同一类型的工作却被放置在不同的软件工具上,并且对于接口调试中的复杂操作和数据请求,很多接口调试工具往往不能满足。
灰小猿
2022/09/30
3.5K0
Apifox—诠释国产接口管理工具新高度
接口测试神器Apifox究竟有多香?
前言 这篇文章介绍一款协作的工具Apifox,官方对Apifox的定位是Apifox = Postman +Swagger + Mack +JMeter。 Apifox的强大之处可想而知。小伙伴们快来体验一下吧 www.apifox.cn
hacker707
2022/11/27
6430
接口测试神器Apifox究竟有多香?
是时候扔掉 Postman 了,Apifox 真香!
记得上一篇文章 再见Postman!一款更适合国人的接口管理工具 ,引起很多小伙伴的共鸣,比如界面太花里胡哨,并且有些功能需要付费才能使用。
陌溪
2021/10/19
1.5K0
是时候扔掉 Postman 了,Apifox 真香!
[工具推荐] Apifox ----API 文档、API 调试、API Mock、API 自动化测试
https://www.apifox.cn/ 功能特性 API 文档设计 可视化 API 文档管理,零学习成本。 支持数据模型,接口之间可以复用相同数据结构。 接口文档完全遵循 OpenAPI(Swagger) 规范。 支持在线分享 API 文档,方便与外部团队协作。 API 调试 Postman 有的功能 Apifox 都有(如环境变量、前置/后置脚本、Cookie/Session 全局共享等),并且比 Postman 更高效好用。 自动校验数据结构:校验返回的数据结构是否符合文档定义,自动发现接口数
科控物联
2022/03/29
4.9K0
[工具推荐] Apifox ----API 文档、API 调试、API Mock、API 自动化测试
推荐一款超强接口管理神器 Apifox
去年,给大家推荐了一款新面市不久的接口测试神器:Apifox,如果还未了解的读者,感兴趣的话可查阅原文:推荐一款技术人必备的接口测试神器:Apifox
测试开发技术
2021/06/10
1.4K0
推荐一款超强接口管理神器 Apifox
麻了,后悔现在才发现,这个开发者神器
维护不同工具之间数据一致性非常困难、低效。并且这里不仅仅是工作量的问题,更大的问题是多个系统之间数据不一致,导致协作低效、频繁出问题,开发测试人员痛苦不堪。
ConardLi
2022/02/18
8970
麻了,后悔现在才发现,这个开发者神器
推荐阅读
相关推荐
猿如意中的【ApiFox】工具的安装与使用教程,超详细,保姆级教程看这一篇文章就够了。
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验