Apidog Docs
🇨🇳 简体中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇨🇳 简体中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇨🇳 简体中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. 自动化测试
  • Back to home
  • 支持中心
  • Apidog 支持中心
  • 导入/导出
    • 如何将 API 数据导入 Apidog?
    • 如何在 Apidog 中导入 cURL?
    • 如何将 Postman 环境迁移到 Apidog?
    • 如何在导入 Swagger/OpenAPI 时自动对端点分组?
  • 发送请求
    • Apidog 支持 Socket.IO 吗?
    • 为什么参数值中的 “+” 会被解码为空格?
    • 如何在 Apidog 中发送请求?
    • 如何在 Apidog 中发送 graphQL 请求?
    • 如何在 Apidog 中发送 gRPC 请求?
    • 如何在 Apidog 中发送 SOAP/WebService 请求?
    • 如何在 Apidog 中发送 WebSocket 请求?
    • Apidog 是否支持 WebSocket API 中的预请求/测试脚本和断言?
    • 如何在 Apidog 中发送 SSE 请求?
    • 如何在文件夹级别添加默认头部?
    • Apidog 是否支持 gRPC API 中的预请求/测试脚本和断言?
    • ELANREFUSED.DNS 解析器错误
    • 为什么我在发送请求时会收到 “socket hang up” 错误?
    • 修复请求错误
      • 修复 read ECONNRESET 错误
      • 修复 ECONNREFUSED 错误
      • 修复 ETIMEDOUT 错误
      • 修复 ENOTFOUND: Couldn't resolve host 错误
      • 修复 ENOTFOUND: getaddrinfo ENOTFOUND www 错误
      • 修复 connect EHOSTUNREACH 错误
  • 设计 API
    • 如何在路径中使用变量?
    • 我可以将响应组件用作默认响应吗?
    • 如何查看谁修改了端点?
    • 如何在 Apidog 中批量删除端点文件夹?
    • 如何批量为端点路径添加/移除前缀?
    • 如何在 Schema 编辑器中移动属性的层级?
    • 如果一个字符串属性有多个枚举值,并且会在多个位置使用,如何在整个文档中一致地引用这个枚举?
    • 如何获取 Apidog 资源文件夹 ID?
    • 如何获取 Apidog 的资源文件夹 ID?
    • 如何在 URL 路径中使用变量?
    • 如果端点、文档或测试场景被意外删除,我该怎么办?
    • Apidog 是否支持自定义端点的请求代码?
    • 将 Swagger/OpenAPI 导入 Apidog 时,如何自动对端点分组?
    • 如何在模拟响应中生成不重复的数组数据?
    • 为什么路径中不支持输入 "#"?
  • 调试 API
    • Apidog 如何与第三方密钥管理系统集成?
    • 为什么同一个请求在其他工具(如 Postman)中可以正常工作,但在 Apidog 中不行?
    • 如何在 Apidog 中从数据库获取变量值?
    • 如何将环境从其他工具迁移到 Apidog?
    • 如何在 Apidog 中使用脚本进行断言?
    • JSONPath 只能提取数组。如何在 Apidog 中从数组中提取单个元素?
    • 当不同环境具有不同的数据库账号凭据时,如何在 Apidog 中配置数据库操作?
    • 如何在自定义脚本中获取服务基础 URL?
    • 当 API 响应过大时,为什么 Apidog 会报告超出最大 Node.js 字符串长度的错误?
    • 控制台打印的大小限制是多少?为什么打印大文件时会出现错误?
    • 如何解决 Windows 上的 DB2 数据库连接错误?
    • 为什么我在 Apidog 中连接 Oracle 数据库时会遇到错误 NJS-045?
    • 如何在 Apidog 自定义脚本中生成动态值?
    • 为什么客户端请求同一个端点可以成功,但在 Web 端调试时却出现错误:“Unable to request address”?
    • 为什么响应过大时 Apidog 会报错?
    • 如何使用 Apidog 录制端点?
    • 定义端点响应时,是否允许端点没有响应内容?
    • 如何在自定义脚本中获取服务的 baseURL?
    • 如何在 Apidog 中查看原始报文?
    • 为什么在发起请求时会看到 “Invalid URI xxx” 错误?
    • 如何在 Apidog 脚本中发起异步请求?
    • 为什么发送请求时会看到 “Couldn't resolve host” 消息?
    • 控制台打印大小限制是多少?为什么打印大文件时会报错?
    • 如何在端点请求中上传文件?
    • 如果 Apidog 崩溃或响应数据不显示,该怎么办?
    • Apidog 用于 OAuth2.0 的官方重定向 URI
  • Mock API 数据
    • 如何自动模拟 API?
    • Apidog 模拟可以做什么?
    • 如何在 Apidog 中模拟固定 API 数据?
    • 如何在 Apidog 中模拟条件数据?
    • 如何在 Apidog 中启用云端模拟?
    • 如何在 Apidog 中启用自托管模拟?
    • Apidog 支持模拟 WebSocket API 吗?
    • 为什么浏览器请求模拟端点时不返回内容?
  • 自动化测试
    • 为什么测试场景在我的本地客户端运行没有问题,但在 Apidog CLI 或运行器中运行时会出错?
    • 如何在 Apidog 中创建测试场景?
    • 如何在测试步骤之间传递数据?
    • 为什么我无法成功引用前置步骤数据?
    • 如何在 Apidog 中使用 foreach 循环?
    • 从端点/端点用例同步数据有哪些区别?
    • 如何在 Apidog 中使用测试数据?
    • 如何在 Apidog 的脚本中检索测试数据?
    • 如何在 Apidog 中批量运行测试场景?
    • 如何在 Apidog 中安排测试任务?
    • 如何在 Apidog 中运行性能测试?
    • 如何在性能测试中查看实际请求和响应?
    • 如何在 Apidog 中导出性能测试报告?
    • 如何使用数据库查询结果作为循环 API 请求的参数?
    • 在 CI/CD 期间使用 ApiDog 捕获并验证 Stripe Webhook
    • 如何解决“Error: unable to verify the first certificate on runner”错误?
    • General Runner Docker 容器 “Not Found” 错误。
    • 如何在 Apidog Web 版中为通用 Runner 设置服务器 Host?
    • 为什么定时测试场景最终显示 0 个请求?
    • 如果在 Runner 或 CLI 中找不到文件上传参数,我该怎么办?
    • 如何使用 Runner 运行包含上传文件步骤的测试场景?
    • 如何解决“Error: unable to verify the first certificate on runner”错误?
    • 当 Runner 出现问题时,如何访问和搜索 Runner 日志以识别问题?
    • 如果端点参数是上传文件,并且在 Runner 或 CLI 中找不到,我该怎么办?
    • 为什么 API 用例变更时测试步骤不会自动同步?
    • 为什么在 Markdown 文档中使用多个美元符号会导致某些内容无法正确显示?
    • 自托管 Runner 在执行任务后会在服务器上生成测试报告吗?
    • 我可以为测试场景中的请求添加统一的前置/后置处理器吗?
    • 如何在单次自动化测试运行期间保持动态值一致?
  • 发布 API 文档
    • 如何在已发布的文档中隐藏所有 Apidog 标志?
    • 当 API 规范更新时,API 文档会变化吗?
    • 如何在 Apidog 中将 API 分享给协作者?
    • 如何自定义 Apidog 文档的域名?
    • 如何在 Apidog 中创建多版本文档?
    • Apidog 中发布文档站点的共享范围
    • Apidog 中 Share Doc 列表的共享范围
    • 为什么已发布的共享文档没有显示主机名?
    • 文档用户如何在共享文档中修改 Base URL?
    • 我可以复制已发布的 Apidog 文档用于自己的项目吗?
    • 如何在 Apidog 在线文档中共享头部(例如 Token)?
    • 为什么我的团队成员找不到已发布的文档?
    • 如何修复自定义域名上的 SSL 证书过期或 Cloudflare 526 错误?
    • 自定义 SMTP 配置成功,但允许列表用户未收到 OTP 邮件
  • Markdown
    • 如何使用卡片链接到 Apidog 内的各个页面或端点?
    • 为什么在 Markdown 文档中使用多个 $ 符号时,部分内容无法正确显示?
    • 如何在 Apidog Markdown 中使用透明背景图片?
    • 如何设置 Markdown 表格的列宽?
    • 如何将内部 API、文档、数据模式或文件夹插入到 Markdown 文档中?
    • 如何在 Apidog 卡片组件中添加指向项目内文档或端点的链接?
  • 分支
    • 如何访问迭代分支?
  • 管理
    • 如何静默安装 Apidog 客户端?
    • 为什么我明明拥有管理员权限,却看到“No Permission”错误?
    • 如何查看 Runner 版本号?
    • Apidog 支持 win7 吗?
    • 为什么安装后 Apidog 显示错误“Cannot locate program entry point DiscardVirtualMemory in dynamic link library KERNEL32.dll”?
    • 订阅变更和退款
    • Web 请求有效,但应用出现 “read ECONNRESET”——为什么?
    • Windows 系统更新后为什么无法打开 Apidog?
    • 为什么 Windows 系统更新后 Apidog 无法打开
  • 计费
    • 我可以在 Apidog 中为我的团队设置单独的账单账户吗?
    • Apidog 上的团队访问与计费问题
    • 受邀团队成员无法访问 Apidog。
    • 将个人付费团队转移到组织
  • 私有化部署
    • Apidog 自托管(企业)版本中的用户和访问管理
  • Web 与客户端
    • Linux 桌面版的下载与安装
  1. 自动化测试

如何在 Apidog 中创建测试场景?

创建测试场景#

打开 Apidog 后,导航到“测试”模块,然后点击搜索栏旁边的 + 来创建新的测试场景。为其选择合适的目录,并设置优先级以完成创建。

添加测试步骤#

在 Apidog 中设置好测试场景后,你可以开始向其中填充请求。有多种添加请求的方式,每种方式都适用于不同的需求和灵活性:
1.
与 API 规范关联的请求——这些请求可以随着 API 规范的变化而更新:
a. 从端点规范导入:此方法是直接从 API 规范中的结构化定义导入请求。它可确保你的测试与 API 的文档化接口保持一致,不过你可能需要手动调整请求参数以满足特定的测试条件。
b. 从端点用例导入:使用此选项可从预先定义的端点用例中提取请求,这些用例已包含配置好的参数。这对于模拟真实 API 使用情况的标准化测试尤其有用,可确保多次测试运行之间保持一致性。
2.
不与 API 规范关联的独立请求——这些请求不会响应 API 规范的变化而更新。它们允许进行更高程度的自定义:
a. 添加自定义请求:从头构建请求,以根据特定需求定制测试场景。此方法提供最大的灵活性,可探索现有 API 规范边界之外的内容。
b. 从 cURL 添加:利用 cURL 可以高效地导入或构造自定义请求。这是一种便捷方式,可快速创建模拟复杂或独特 API 交互的请求,而不受 API 规范约束。
3.
引用其他测试场景:
a. 包含来自其他测试场景的请求:此方法允许你从项目中已定义的不同测试场景导入特定请求。
b. 引用其他测试场景:为了进行全面测试,你可能需要使用另一个测试场景的全部内容。此功能可确保你能够集成所有相关测试和配置,避免重复设置工作,并促进统一的测试策略。

从端点规范导入#

你可以将当前项目中的端点规范作为测试场景中的步骤导入。导入端点时有两种模式:“手动”和“自动”。有关更详细的说明,请参阅 从 APIs/API 用例同步数据。
手动
在“手动”模式下,项目内端点文档的修改不会立即影响测试步骤中的端点。只有当测试人员激活“手动”按钮时,才会同步测试数据。需要注意的是,即使点击“手动同步”,对测试步骤数据所做的更改也不会更新端点文档。相反,点击此按钮会使测试场景从端点文档中获取信息以用于同步。
自动
在“自动”模式下,项目内端点文档中的任何更改都会同步更新到测试步骤中。
如果你需要在一个测试场景中测试来自其他项目的端点,请参阅 将其他项目中的端点/用例导入到测试步骤。

从端点用例导入#

你可以选择从当前项目或其他项目导入端点用例。导入端点用例时有两种模式:“复制” 和 “引用”。
复制
当以 “复制” 方式导入端点用例时,端点用例中的参数也会被复制到测试步骤中。它们彼此独立,各自的更改不会影响其他内容。可以选择手动同步。
引用
当以 “引用” 方式导入端点用例时,它将直接使用原项目中的端点用例来进行请求。

添加自定义请求#

在工作流程中,你可能需要调用项目之外的端点,例如第三方支付端点。
你可以在测试步骤中添加自定义 API 请求。自定义请求可以是任何 HTTP 请求,包括常见的 GET、POST、PUT、DELETE 等。

从 cURL 添加#

在实际工作流程中,许多端点请求会以 cURL 命令行的形式呈现。你可以只需单击一次,就将 cURL 请求导入到测试步骤中。

包含来自其他测试场景的步骤#

你可以通过从同一项目内的其他测试场景导入,来克隆测试步骤或流程控制条件。

引用其他测试场景#

你可以将其他测试场景引用为一个测试步骤。有两种使用场景:
1.
如果你的业务流程中有一些通用、可复用的 API 测试步骤,你可以将这些步骤编排成一个小型测试场景,然后在其他更大的测试场景中直接引用它。
2.
如果你需要对整个产品的主流程进行回归,可以在测试场景中引用各个子测试场景进行组装,并一键完成所有主流程的测试回归工作。
为防止无限循环以及测试场景无法正常停止运行的情况,引用其他测试场景的功能不能引用原测试场景本身。

编排测试场景#

点击任意测试步骤将进入编排模式。在此模式下,你将拥有更大的操作页面,以便更好、更高效地填写每个测试步骤的详细内容。页面左侧是测试场景的整体流程,右侧是所选测试步骤的详细信息。端点请求和测试流程控制组件会有不同的显示面板。
你可以通过拖动步骤前面的 ≡ 来调整步骤顺序。
在此模式下,你可以使用 “⬆️” 和 “⬇️” 键在选中的测试步骤之间快速切换。
在编排模式下,你可以编辑多个步骤,然后点击左上角的“全部保存”按钮来保存所有更改。
如果任何步骤有未保存的更改,该步骤将在左侧列表栏中以圆点标记。请记得始终保存你所做的更改。
Modified at 2026-06-09 08:55:47
Previous
为什么测试场景在我的本地客户端运行没有问题,但在 Apidog CLI 或运行器中运行时会出错?
Next
如何在测试步骤之间传递数据?
Built with