Apifox 帮助文档
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档常见问题Apifox 官网私有化部署
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  1. 开发和调试 API
  • 帮助中心
  • 更新日志
  • 入门
    • 产品介绍
    • 联系我们
    • 私有化部署
  • 开始使用
    • 下载 Apifox
    • 注册与登录
    • 页面布局
    • 基本概念
    • 快速上手
      • 概述
      • 新建接口
      • 发送接口请求
      • 快捷请求
      • 添加断言
      • 新建测试场景
      • 分享 API 文档
      • 了解更多
    • 基础知识
      • 接口基本信息
        • 请求 URL 与方法
        • 请求参数与请求体
        • 请求头
        • 请求参数编码解码
        • HTTP/2
      • 认证与授权
        • 概述
        • 支持的授权类型
        • Digest Auth
        • OAuth 1.0
        • OAuth 2.0
        • Hawk Authentication
        • Kerberos
        • NTLM
        • Akamai EdgeGrid
        • CA 和客户端证书
      • 响应与 Cookie
        • 概述
        • API 响应
        • 创建和发送 Cookie
        • 实际请求
        • 提取响应示例
      • 请求代理
        • 网页端中的请求代理
        • 分享文档中的请求代理
        • 客户端中的请求代理
      • API Hub
        • API Hub
    • 导入导出数据
      • 概述
      • 手动导入
      • 定时导入
      • 导入设置
      • 导出数据
      • 其它方式导入
        • 导入 OpenAPI/Swagger
        • 导入 Postman
        • 导入 Apipost
        • 导入 Eolink
        • 导入 cURL
        • 导入 Markdown
        • 导入 Insomnia
        • 导入 apiDoc
        • 导入 .har 文件
        • 导入 knife4j
        • 导入 NEI
        • 导入小幺鸡(docway)
        • 导入 Apizza
        • 导入 WSDL
  • 设计 API
    • 概述
    • 接口的组织方式
    • 接口基础知识
    • 接口设计规范
    • 模块
    • 请求体多示例配置
    • 响应组件
    • 常用字段
    • 全局参数
    • 历史记录
    • 批量管理
    • 数据模型
      • 概述
      • 新建数据模型
      • 构建数据模型
      • 通过 JSON 等生成
      • 高级数据类型
      • 数据模型进阶
        • 使用 oneOf / anyOf / allOf 构建组合模式
    • 鉴权组件
      • 概述
      • 创建鉴权组件
      • 使用鉴权组件
      • 在线文档中的鉴权组件
    • 高级功能
      • 接口字段
      • 接口状态
      • 关联测试场景
      • 参数列表外观
      • 接口唯一标识
  • 开发和调试 API
    • 概述
    • 生成请求
    • 发送请求
    • 请求历史
    • 接口调试用例
    • 接口测试用例
    • 动态值
    • 校验响应
    • 文档模式/调试模式
    • 生成代码
    • 环境和变量
      • 概述
      • 环境管理
      • 全局/环境/模块/临时变量
      • Vault Secrets(密钥库)
        • 功能简介
    • 前后置操作&脚本
      • 概述
      • 断言
      • 提取变量
      • 等待时间
      • 数据库操作
        • 概述
        • MySQL
        • MongoDB
        • Redis
        • Oracle
      • 使用脚本
        • 概述
        • 前置脚本
        • 后置脚本
        • 公共脚本
        • pm 脚本 API
        • 使用 JS 类库
        • 响应数据可视化
        • 调用外部程序
      • 脚本示例
        • 断言示例
        • 脚本使用变量
        • 脚本读取/修改接口请求信息
      • 常见问题
        • 如何获取动态参数的真实值并加密?
        • 脚本运行后,提取的数字(bigint)精度丢失应该如何处理?
    • API 调试
      • GraphQL 调试
      • WebSocket 调试
      • Socket.IO 调试
      • SSE 调试
      • SOAP/WebService
      • gRPC 调试
      • Webhook 调试
      • 使用请求代理调试
      • Dubbo 调试
        • 新建 Dubbo 接口
        • 调试 Dubbo 接口
        • Dubbo 接口文档
      • TCP(Socket)
        • Socket 接口功能简介
        • 报文数据处理器
  • Mock 数据
    • 概述
    • 智能 Mock
    • 自定义 Mock
    • Mock 优先级
    • Mock 脚本
    • 云端 Mock
    • 自托管 Runner Mock
  • 自动化测试
    • 概述
    • 编排测试场景
      • 新建测试场景
      • 测试步骤间传递数据
      • 测试流程控制条件
      • 从接口/用例同步数据
      • 跨项目导入接口/用例
      • 导出测试场景数据
    • 运行测试场景
      • 运行测试场景
      • 批量运行测试场景
      • 数据驱动测试
      • 定时任务
      • 管理其它项目接口的运行环境
    • 测试报告
      • 测试报告
    • API 测试
      • 性能测试
      • 集成测试
      • 端到端测试
      • 回归测试
    • Apifox CLI
      • 概述
      • 安装和运行 CLI
      • CLI 命令选项
    • CI/CD
      • 概述
      • 与 Jenkins 集成
      • 与 Gitlab 集成
      • 与 Github Actions 集成
      • 与其它更多 CI/CD 平台集成
      • Git 提交自动触发测试
  • 发布 API 文档
    • 概述
    • 快捷分享
    • 查看 API 文档
    • 发布文档站
    • 页面布局设置
    • 自定义页面代码
    • 自定义域名
    • AI 相关特性
    • SEO 设置
    • 高级设置
      • 文档站搜索设置
      • 跨域代理
      • 文档站接入 Google Analytics
      • 文档左侧目录设置
      • 文档可见性设置
      • 在线 URL 链接规范
    • API 版本
      • 功能简介
      • 创建 API 版本
      • 发布 API 版本
      • 快捷分享 API 版本
  • 迭代分支
    • 功能简介
    • 新建迭代分支
    • 在迭代分支中改动 API
    • 在迭代分支中测试 API
    • 合并迭代分支
    • 管理迭代分支
  • 管理中心
    • 入驻清单
      • 了解基本概念
      • 团队入驻
    • 管理团队
      • 成员角色与权限设置
      • 团队基本操作
      • 团队成员管理
      • 团队资源
        • 通用 Runner
        • 请求代理 Agent
        • 团队变量
      • 实时协作
        • 团队协作
    • 管理项目
      • 项目基本操作
      • 项目成员管理
      • 通知设置
        • 功能简介
        • 通知对象
        • 通知事件
      • 项目资源
        • 数据库连接
        • Git 仓库连接
    • 管理组织
      • 单点登录(SSO)
        • 功能简介
        • 为组织配置单点登录
        • 管理用户账号
        • 将组映射到团队
        • Microsoft Entra ID
      • SCIM 用户管理
        • 功能简介
        • Microsoft Entra ID
      • 组织资源
        • 自托管 Runner
      • 订单管理
        • 组织付费经理
  • 离线空间
    • 功能简介
  • IDEA 插件
    • 快速上手
    • 生成接口文档
    • 生成数据模型
    • 配置
      • 全局配置
      • 项目内配置
      • 可配置规则
      • 脚本工具
      • Groovy 本地扩展
    • 进阶配置
      • 注释规范说明
      • 框架支持
    • 常见问题
      • 常见问题
  • 浏览器扩展
    • Chrome
    • Microsoft Edge
  • Apifox AI 功能
    • 总览
    • 启用 AI 功能
    • 修改数据模型
    • 接口规范性检测
    • 字段命名
    • 常见问题
  • Apifox MCP Server
    • 概述
    • 通过 MCP 使用 Apifox 项目内的 API 文档
    • 通过 MCP 使用公开发布的 API 文档
    • 通过 MCP 使用 OpenAPI/Swagger文档
  • 最佳实践
    • 概述
    • 接口之间如何传递数据
    • 登录态(Auth)如何处理
    • 接口签名如何处理
    • 如何加密/解密接口数据
    • Jenkins 定时触发任务
    • 如何计算 AI 问答成本
    • 与其他成员共用数据库连接配置
    • 通过 CLI 运行包含云端数据库连接配置的测试场景
    • 通过 Runner 运行包含云端数据库连接配置的测试场景
    • Apifox 测试步骤之间怎么传递数据?
  • 账号&应用设置
    • 账号设置
    • API 访问令牌
    • 语言设置
    • 快捷键
    • 网络代理
    • 数据备份与恢复
    • 更新 Apifox
    • 实验性功能
  • 身份验证 & Auth 鉴权指南
    • 什么是 API Key
    • 什么是 Bearer Token
    • 什么是 JWT
    • 什么是 Basic Auth
    • 什么是 Digest Auth
    • 什么是 OAuth 1.0
    • 什么是 OAuth 2.0
      • 什么是 OAuth 2.0
      • 授权码授权类型
      • 授权码授权类型,带有 PKCE
      • 隐式授权类型
      • 密码凭证授权类型
      • 客户端凭证授权类型
  • 服务与隐私协议
    • 服务协议
    • 隐私协议
    • 服务等级协议
  • 参考资料
    • API 设计优先理念
    • JSON Schema 介绍
    • JSONPath 介绍
    • XPath 介绍
    • Apifox Markdown 语法
    • CSV 格式规范
    • 正则表达式
    • 安装 Java 环境
    • Runner 运行环境
    • 常见编程语言对应的数据类型
    • Socket 粘包和分包问题
    • 词汇表
    • Apifox Swagger 扩展
      • 概述
      • x-apifox-folder
      • x-apifox-status
      • x-apifox-name
      • x-apifox-maintainer
    • Apifox JSON Schema 扩展
      • 概述
      • x-apifox-mock
      • x-apifox-orders
      • x-apifox-enum
    • 动态值表达式
  • 常见问题
  1. 开发和调试 API

接口测试用例

在 Apifox 版本 2.7.29 及以后,在接口详情页中,支持添加测试用例。
image.png
每一条测试用例代表对于该接口的一套请求参数值。用户可以有条理对所有测试用例进行管理,并一键发起运行,完成对于当前接口的测试工作。
“测试用例” 与 “调试用例” 的区别
测试用例
目的是验证接口在各种请求场景下的行为是否符合预期,核心在于全面性。
覆盖正向、反向、边界、安全等多类场景,测试范围广。
相对来说不会经常性修改、频繁运行。
调试用例
目的是在开发或问题定位过程中,快速验证接口返回是否符合预期,核心在于快速性。
通常不覆盖完整场景,只聚焦最基础的场景,例如成功、失败。
相对来说会经常性修改、频繁调试。

创建接口测试用例#

你可以通过多种方式进行接口测试用例的创建:

1. 手动创建#

在接口详情的 “测试用例” 标签页中,可以点击添加测试用例来手动创建一个测试用例。
image.png

2. 从调试用例中导入#

可以在添加测试用例时,选择 “从调试用例添加” 的方式,将现有的调试用例复制或转化成为测试用例。
复制
当这条调试用例仍然需要方便大家进行快速调试时,建议使用 “复制” 来将其变为一个测试用例。
移动
当这条调试用例在一般情况下不会经常被使用来调试,以前就是当做测试当前接口的异常情况来使用时,可以使用 “移动” 来将此用例直接从调试用例转化为测试用例。这样也方便一些以前已经将测试用例写在调试用例里的情况,进行快速的迁移。

测试用例详情#

一个测试用例中,包含了以下数据:
分组:基于 “测试目的” 为测试用例进行的分组,你可以根据测试目的(正向、负向、边界等)来设置测试用例的分组。
名称:该测试用例的名称。
请求参数值:涵盖 Path 参数、Query 参数、Header 参数以及 form-data 格式的请求体(Body)。
请求体内容:格式可以是 RAW、JSON、XML 等。
接口的前后置操作
响应校验设置:指示校验是否启用,以及指定校验的响应组件。
注意,因为测试用例一般来说改动频次相对较少,所以测试用例的内容与关联接口内容是 “手动同步” 的关系。即当接口内容改动(例如增加了一个字段),需要在测试用例中点击 “立即同步” 按钮,才会将接口中新增与修改的内容同步过来。
image.png
你对测试用例详情内容的修改和调整,都需要点击 “保存” 来将修改内容固定下来,有未保存内容界面上也会有对应提示。
image.png

测试用例管理#

在测试用例标签页中,你可以针对所有已经创建好的测试用例进行管理。可以使用左上角的搜索与筛选功能轻松查看到需要查看的测试用例,也可通过分组标签卡来快速基于分组查看测试用例。对于具体测试用例的操作:
单个测试用例:你可以打开一个新标签页来查看、修改、运行这个测试用例。基本操作有复制、移动测试用例的分组、复制这条测试用例的 cURL、删除用例;
多个测试用例:当你在列表中选中多个测试用例,右上角会出现操作按钮,你可以批量对他们进行移动分组、删除、同步接口内容的操作。

测试用例运行#

当你查看某条具体的测试用例时,你可以使用此测试用例上的 “运行” 按钮,使用当前这一条测试用例发起请求。请求完成后,这一条测试用例中就会展示实际响应内容。
image.png
当然你也可以使用右上角的 “全部运行” 按钮,或选中当前列表中的某些测试用例再点击此 “运行 x 条” 按钮,来使用全部或特定的一些测试用例发起请求。发起后会有明显的通话能够查看到当前哪些用例正在请求,以及哪些已经输出了结果。
image.png
你可以在当前页面直接点开一条测试用例,查看到批量运行后的测试用例运行结果。
image.png

测试用例运行报告#

你发起了批量运行后,可以在右上角的 “测试报告” 中,查看到全部批量运行生成的历史报告。
image.png
点击某份报告,还能查看到这份报告中的详情信息,从而更好的定位与回溯。
image.png
01-Apifox.gif

单接口测试的最佳实践#

一般来说,单接口的测试会影响到两个角色:后端和测试。这两个角色的分工:
后端:进行接口的代码实际编写与调试;
测试:进行接口的全面覆盖测试与定位问题。
现在 Apifox 已支持接口测试用例功能,建议可以通过使用此功能来高效的完成单接口测试工作。使用此功能后的最大亮点:
测试可以直接在接口文档中编写与管理单接口的测试用例;
研发可以使用已经写好的测试用例,自己一键发起测试、查看结果、问题修复,无需再等待测试反馈、低效沟通。
以下是最佳实践具体流程:
image.png
通过此最佳实践流程,可以提升协同效率:
1.
测试用例在接口文档确认后即可开始编写,并且内容全程同步在 Apifox 中所有项目成员可查看;
2.
研发在调试完成后,可以自己一键测试接口,无需再通知测试并等待测试花费大量时间实际测试与反馈;
3.
研发测试完成可以自己根据详细结果进行问题修复,无需测试在项目管理工具 中写 tickets 再提交给研发修复;
4.
根据实际测试结果来分享和说明问题,不再各说各话难以对齐。
上一页
接口调试用例
下一页
动态值
Built with