Apifox 帮助文档
帮助文档
常见问题Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档
常见问题Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  1. 测试套件
  • 帮助中心
  • 更新日志
  • 入门
    • 产品介绍
    • 联系我们
    • 私有化部署
  • 开始使用
    • 下载 Apifox
    • 注册与登录
    • 页面布局
    • 基本概念
    • 快速上手
      • 概述
      • 新建接口
      • 发送接口请求
      • 快捷请求
      • 添加断言
      • 新建测试场景
      • 分享 API 文档
      • 了解更多
    • 导入导出数据
      • 概述
      • 手动导入
      • 定时导入(绑定数据源)
      • 导入设置
      • 导出数据
      • 其它方式导入
        • 导入 OpenAPI/Swagger
        • 导入 Postman
        • 导入 Apipost
        • 导入 Eolink
        • 导入 cURL
        • 导入 Markdown
        • 导入 Insomnia
        • 导入 apiDoc
        • 导入 .har 文件
        • 导入 knife4j
        • 导入 NEI
        • 导入小幺鸡(docway)
        • 导入 Apizza
        • 导入 WSDL
  • 设计 API
    • 概述
    • 新建 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
    • 数据模型
      • 高级数据类型
      • 构建数据模型
      • 概述
      • 通过 JSON 等生成
      • 新建数据模型
      • 数据模型进阶
        • 使用 oneOf / anyOf / allOf 构建组合模式
        • 使用 discriminator 实现多态数据结构
    • 鉴权组件
      • 概述
      • 创建鉴权组件
      • 使用鉴权组件
      • 在线文档中的鉴权组件
    • 高级功能
      • 接口字段
      • 接口状态
      • 关联测试场景
      • 参数列表外观
      • 接口唯一标识
  • 开发和调试 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
  • 自动化测试
    • 概述
    • 编排测试场景
      • 新建测试场景
      • 测试步骤间传递数据
      • 测试流程控制条件
      • 从接口/用例同步数据
      • 跨项目导入接口/用例
      • 导出测试场景数据
    • 运行测试场景
      • 运行测试场景
      • 批量运行测试场景
      • 数据驱动测试
      • 定时任务
      • 管理其它项目接口的运行环境
    • 测试套件
      • 概述
      • 新建测试套件
      • 编排测试套件
      • 本地运行测试套件
      • CLI 运行测试套件
      • 定时任务
    • 测试报告
      • 测试报告
    • API 测试
      • 性能测试
      • 集成测试
      • 端到端测试
      • 回归测试
      • 契约测试
    • Apifox CLI
      • 概述
      • 安装和运行 CLI
      • CLI 命令选项
    • CI/CD
      • 与 Gitlab 集成
      • 与其它更多 CI/CD 平台集成
      • 与 Jenkins 集成
      • 概述
      • Git 提交自动触发测试
      • 与 Github Actions 集成
  • 发布 API 文档
    • 概述
    • 快捷分享
    • 查看 API 文档
    • 发布文档站
    • 页面布局设置
    • 自定义页面代码
    • 自定义域名
    • AI 相关特性
    • SEO 设置
    • 高级设置
      • 文档站搜索设置
      • 跨域代理
      • 文档站接入 Google Analytics
      • 文档左侧目录设置
      • 文档可见性设置
      • 在线 URL 链接规范
    • API 版本
      • 功能简介
      • 创建 API 版本
      • 发布 API 版本
      • 快捷分享 API 版本
  • 迭代分支
    • 功能简介
    • 新建迭代分支
    • 在迭代分支中改动 API
    • 在迭代分支中测试 API
    • 合并迭代分支
    • 管理迭代分支
  • 管理中心
    • 基本概念
    • 团队入驻
    • 管理团队
      • 团队基本操作
      • 成员角色与权限设置
      • 团队成员管理
      • 团队资源
        • 通用 Runner
        • 请求代理 Agent(Proxy)
        • 团队变量
      • 实时协作
        • 团队协作
    • 管理项目
      • 项目基本操作
      • 项目成员管理
      • 通知设置
        • 功能简介
        • 通知对象
        • 通知事件
      • 项目资源
        • 数据库连接
        • 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
    • 动态值表达式
  • 常见问题
帮助文档
常见问题Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
帮助文档
常见问题Apifox 官网私有化部署
开发者中心
开发者中心
  • 开放 API
  • 更新日志
  • Road Map
  • Apifox Markdown
下载
下载
  • 下载 Apifox
  • 下载 IDEA 插件
  • 下载浏览器扩展
  • Apifox Web 版
  1. 测试套件

编排测试套件

创建测试套件后,你需要添加测试内容。Apifox 提供了灵活的 “静态” 和 “动态” 两种模式,满足不同的测试管理需求。

导入测试内容#

在测试套件详情页的「编排」标签下,点击「添加接口测试用例」或「添加测试场景」。在弹出的选择窗口中,你可以切换「静态」或「动态」模式。
image.png

1. 静态模式 (Static Mode)#

静态模式用于精确指定需要执行的测试项。
🎯 核心逻辑
系统记录你勾选的具体用例 ID。即使源目录增加了新用例,该套件的执行范围也不会改变,确保测试结果的可控性。
🚀 最佳使用场景
Bug 修复验证 (Hotfix):挑选 3-5 个与本次 Bug 强相关的用例,组成一个 “验证包”,快速验证修复结果,不浪费时间跑无关用例。
核心业务固化 (Core Path):针对 “下单-支付” 这种极其核心且稳定的流程。我们不希望因为新人误加了一个未完成的测试用例,导致核心监控报警。
旧版本兼容性测试:圈定一批旧接口测试用例,专门用于验证旧版本客户端的兼容性。
⚠️ 维护特性
高维护成本:如果有新用例需要纳入这个专项测试,必须人工手动添加。

2. 动态模式 (Dynamic Mode)#

动态模式用于通过规则自动筛选需要执行的测试项。
🎯 核心逻辑
系统保存的是 “筛选规则”(Scope & Filter)。每次运行时,系统实时扫描整个项目,将所有符合条件的最新用例纳入执行计划。
🚀 最佳使用场景
模块级回归 (Regression):将 “交易中心” 文件夹设为源目录。测试人员只需在文件夹里写新用例,套件运行时会自动包含它们,实现 “写完即入库”。
冒烟测试 (Smoke Test):创建一个规则为 优先级 = P0 的动态套件。每次发版前运行,自动覆盖所有标记为 P0 的关键用例。
版本迭代验收:利用标签功能,规则设为 Tag = v2.5.0。开发完成后,直接运行该套件即可验收该版本所有新增功能。
⚠️ 维护特性
零维护成本:一旦配置好规则,后续无需维护套件本身,只需维护用例的属性(位置、标签、优先级)即可。

调整执行顺序#

导入的内容会在列表中显示,你可以拖拽列表项来调整执行顺序。
对于「静态」添加的单项,可以使用编辑功能,进行单独删除/整组删除。
image.png
对于「动态」添加的组,只能整体删除或编辑过滤条件,无法删除组内的单个动态项。
image.png

内容高级配置#

在测试套件的编排页面右侧,可以展开「高级配置」,对测试套件的运行方式进行更细粒度的控制。
image.png
image.png

运行环境#

定义:默认继承测试套件中已设置的运行环境。若在此处单独指定环境,则运行将优先生效该环境配置。
使用场景:适用于需要在不同环境下复用同一套测试步骤的场景。

测试数据#

用于指定是否在运行过程中使用测试数据。
不使用测试数据:测试步骤仅执行一次,不进行 数据驱动。
使用测试数据:基于测试数据进行多次运行,常用于参数化测试。

遇到错误时#

用于控制测试过程中出现错误时的处理方式。错误包括断言失败、数据格式校验失败、接口请求异常、服务器错误等。
忽略:出现错误时继续执行后续步骤,不中断当前运行。
跳到下一轮循环:出现错误时,跳过当前轮剩余步骤,直接进入下一轮执行。
结束运行:一旦出现错误,立即终止后续步骤。
适合用于冒烟测试或调试阶段,快速暴露首个问题。

循环次数#

定义:设置整个测试套件的重复执行次数。
使用场景:常用于稳定性验证或简单的压力测试场景。

间隔停顿#

定义:设置每个测试步骤执行完毕后,等待多少毫秒(ms)再执行下一个步骤。
使用场景:防止因请求发送频率过高而触发目标服务器的限流(Rate Limiting)或熔断机制,确保测试平稳运行。

保存请求/响应详情#

定义:控制测试报告中是否包含请求和响应的详细数据(如 Header、Body 等)。
选项:
全部请求:无论通过与否,保存所有步骤的完整详情。数据量较大,适合深度调试。
仅失败请求:只有运行失败的步骤才保存详情。推荐使用,既节省存储空间,又方便快速定位失败原因。
不保存:不保存任何详情,仅记录通过/失败的状态和耗时。

环境/全局变量值#

环境/全局变量值,指定本测试场景中的环境/全局变量,使用何种实际值。有两种选择,详细介绍可以查看此处。当选择使用 Runner 中保存的变量值时,会要求进一步选择需要使用的变量范围。
有这个范围的目的是帮助用户更好的根据实际需求分隔变量,避免因为某次定时任务运行,而导致其它的任务因为变量被更改而运行失败。选择完成范围后还可通过产品界面中出现的入口来可视化查看此范围内的变量值。
Runner 中的变量范围读写环境/全局变量方式描述
当前测试场景
  • 当前指定运行 Runner 中,此测试场景对应一个文件,在文件中持久化保存此测试场景内设置的环境/全局变量。
  • 仅当前测试场景可以读取、写入这个文件中的变量。
最小的变量范围,影响面最小。适用于此测试场景上一次运行的结果,要继续提供给下一次此测试场景运行使用的情况。
场景、任务、任务目录的变量文件均保存在 Runner 容器路径 /opt/runner/variables 中。
当前定时任务
  • 当前指定运行 Runner 中,此测试场景所属的定时任务对应一个文件,在文件中持久化保存此定时任务内所有测试场景设置的环境/全局变量。
  • 当前定时任务中,所有的测试场景可以读取、写入这个文件中的变量。
比较推荐使用的变量范围,中等的变量范围,影响面中等。适用于此定时任务中,不同测试场景之间需要传递数据的情况。
当前定时任务目录
  • 当前指定运行 Runner 中,此测试场景所属的定时任务目录对应一个文件,在文件中持久化保存此定时任务目录内所有定时任务中测试场景设置的环境/全局变量。
  • 当前定时任务目录中,所有的定时任务里的所有测试场景可以读取、写入这个文件中的变量。
最大的变量范围,影响面最大,可能因为运行了某个定时任务修改了变量值,而导致其他定时任务运行失败。适用于一组定时任务之间需要传递数据的情况。
上一页
新建测试套件
下一页
本地运行测试套件
Built with