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. Learning Center
  • 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. Learning Center

自动化测试

为什么测试场景在我的本地客户端运行没有问题,但在 Apidog CLI 或运行器中运行时会出错?
最常见的问题涉及变量的使用。 在 Apidog 本地客户端中运行时,会使用存储在客户端中的变量“当前值”,该值不会同步到服务器。然而,在 CLI 或运行器中运行时,会使用存储在服务器上的“初始值”。 为确保在本地和远程都能顺利运行,你需要正确设置初始值和当前值,并保持它们一致。 ![image.p...
如何在 Apidog 中创建测试场景?
创建测试场景 打开 Apidog 后,导航到“测试”模块,然后点击搜索栏旁边的 + 来创建新的测试场景。为其选择合适的目录,并设置优先级以完成创建。 ![](https://api.apidog.com/api/v1/projects/544525/resources/342962/image...
如何在测试步骤之间传递数据?
在自动化测试场景中,在多个请求之间传递数据非常常见。典型情况包括: 请求 1 是一个登录请求,返回一个 token;请求 2 使用此 token 请求其他数据。 请求 1 返回一个 ID;请求 2 基于此 ID 执行操作。 请求 1 返回一个列表;请求 2 使用此列表中的数据。 对于此类场景,A...
为什么我无法成功引用前置步骤数据?
首先,请确保你当前位于“测试”模块中。“引用前置步骤数据”功能仅在测试模块中可用,在 APIs 模块中不可用。 如果你确定当前位于测试模块中,请切换到“实际请求”标签页,确认请求中引用的前置步骤数据是否已成功合并。 如果实际请求中的引用仍显示为 {{$.n.response.body.abc}},而...
如何在 Apidog 中使用 foreach 循环?
当你有一个包含多个元素的数组(特定内容列表或从前面步骤获取的列表),并且需要对列表中的每一项执行相同操作时(例如,先获取产品列表,然后将列表中的每个产品添加到购物车),就需要使用 ForEach 循环。 在 ForEach 循环中,循环内部的操作会针对数组中的每个元素执行。 与 For 循环不同的是...
从端点/端点用例同步数据有哪些区别?
对于从端点/端点用例导入的测试步骤,其请求数据可以与关联的端点规范/用例同步。 将端点/端点用例导入到测试步骤时,你可以选择 Manual 或 Automated 模式。 Manual 模式适用于多人协作的场景,也就是说,在一个项目中,端点规范、开发和测试流程都有明确的分工,并且每个流程都有专人负...
如何在 Apidog 中使用测试数据?
Apidog 支持数据驱动测试,允许你导入 CSV 或 JSON 格式的测试数据集,并在测试请求中使用它们。 入门指南 创建一个测试场景,并添加必要的测试步骤。 准备测试数据。一组测试数据是一个二维表,其中每一列代表一个变量,每一行包含这些字段的一组值,用于一次测试场景迭代。例如...
如何在 Apidog 的脚本中检索测试数据?
你可以在脚本中访问测试数据变量,如下所示: pm.iterationData.has(variableName:String): function → Boolean: 检查测试变量是否存在。pm.iterationData.get(variableName:String): function → ...
如何在 Apidog 中批量运行测试场景?
Apidog 支持批量运行多个已配置的测试场景。 在测试模块中,点击左侧文件夹树中的某个文件夹,右侧面板将显示该文件夹内所有测试场景的列表。在此列表中,你可以查看每个测试场景的信息,例如环境和最近一次运行结果。 你可以选择多个测试场景,然后点击右上角的“批量运行”按钮,以批量执行这些...
如何在 Apidog 中安排测试任务?
你可以设置“定时任务”,以便在指定时间自动运行已配置的自动化测试场景,获取任务执行结果,并满足定时测试和回归测试的需求。 :::tip[] 定时任务目前处于 Beta 阶段。 若要运行定时任务,你首先需要配置一个 self-hosted Runner。 你可以运行定时任务的次数取决于你订阅的计划。...
如何在 Apidog 中运行性能测试?
:::tip[]性能测试功能目前处于 Beta 阶段。::: 性能测试是指向 API 发送大规模服务请求,以识别性能瓶颈、评估稳定性、暴露压力下的潜在风险,并确保 API 能够在高负载下可靠运行并响应请求。 设置配置项 在运行性能测试之前,你需要为测试场景指定运行环境,并可选地指定测试数据,同时配...
如何在性能测试中查看实际请求和响应?
Apidog 的性能测试不提供查看实际请求和响应的能力。 这是因为性能测试侧重于评估 API 在高负载下的行为,而这些 API 应该已经 100% 通过了功能测试。任何问题都很可能是由服务器性能导致的,而不是请求/响应内容导致的。 因此,查看实际请求和响应并不能帮助排查与性能相关的问题。因此,Api...
如何在 Apidog 中导出性能测试报告?
性能测试目前处于 Beta 阶段,Apidog 暂不支持导出性能测试报告。你只能在 Apidog 客户端内查看结果。
如何使用数据库查询结果作为循环 API 请求的参数?
Apidog 支持使用数据库查询结果作为参数来循环执行 API 请求。你可以按照以下步骤操作: 在你的测试场景中,添加一个“数据库操作”步骤。执行你的 SQL 查询,并将结果提取到一个变量中(例如 `id`)。确保你的 SQL 查询返回数组格式的结果。 ![](https://...
在 CI/CD 期间使用 ApiDog 捕获并验证 Stripe Webhook
问:ApiDog 是否支持直接监听 Stripe Webhook?不,ApiDog 原生不支持监听 Webhook。但是,你仍然可以通过利用后端和数据库来验证 Webhook 事件。 问:使用 ApiDog 测试 Stripe Webhook 的推荐方法是什么?你可以按照以下步骤操作: 在后端设置...
如何解决“Error: unable to verify the first certificate on runner”错误?
运行 Apidog 的 Runner 时,如果遇到“Error: unable to verify the first certificate on runner”错误,通常是因为 Runner 无法验证服务器的 SSL 证书。这可能是由于服务器使用了自签名证书,或者证书链中的某个证书不受信任。 你...
General Runner Docker 容器 “Not Found” 错误。
Q: 问题是什么?A: 当用户按照 Apidog 文档(https://docs.apidog.com/general-runner-755233m0)尝试运行 General Runner Docker 容器时,会遇到 “Not Found” 错误。该错误发生在 runner 尝试访问以下端点时:...
如何在 Apidog Web 版中为通用 Runner 设置服务器 Host?
由于浏览器安全限制,Web 版无法从 HTTPS 页面访问不安全的 HTTP。因此,在 Web 版中为通用 Runner 设置服务器 Host 可能会失败。 请改为在 Apidog 客户端 中进行配置。
为什么定时测试场景最终显示 0 个请求?
Q: 为什么我的定时测试场景最终显示 0 个请求? A:没有请求通过定时任务,因为为定时运行设置的环境被设置为“Private”。在 Apidog 中,当环境为私有时,定时测试可能无法访问所需变量,从而导致请求失败。 Q: 如何修复此问题? A: 要解决此问题,请在 Apidog 中将环境从“Pri...
如果在 Runner 或 CLI 中找不到文件上传参数,我该怎么办?
Apidog 仅存储本地文件路径,而不存储文件本身。因此,当在不同机器上使用 Runner 或 CLI 运行测试时,可能会遇到找不到文件的错误。 要解决此问题: 将文件上传到运行测试场景的 Runner/CLI 机器。 在 Apidog 中,打开相应的测试步骤,并使用“批量编辑”将文件路径参数值替...
如何使用 Runner 运行包含上传文件步骤的测试场景?
在 Apidog 中,端点请求中的文件参数实际上只保存文件路径(而不是文件本身)。发送请求时,Apidog 会根据文件路径查找实际文件,然后发送。因此,你需要确保: 将文件复制到挂载到 Runner 卷的宿主目录中。Runner 的卷是在[部署 Runner](apidog://li...
如何解决“Error: unable to verify the first certificate on runner”错误?
如果你在使用 Apidog 运行 Runner 时遇到“Error: unable to verify the first certificate on runner”错误,通常是因为 Runner 无法验证服务器的 SSL 证书。这可能是由于服务器使用了自签名证书,或证书链中存在不受信任的证书。 ...
当 Runner 出现问题时,如何访问和搜索 Runner 日志以识别问题?
使用 the docker ps 命令查找有问题的 Runner 信息; 根据 Runner 容器 ID,运行以下命令查询有效日志 # View the last 100 lines of the log for container ID abc123, recommended: docke...
如果端点参数是上传文件,并且在 Runner 或 CLI 中找不到,我该怎么办?
Apidog 只保存文件的本地路径,而不保存文件本身。因此,当在不同机器上使用 Runner 或 CLI 运行测试时,你可能会遇到找不到文件的错误。 解决方案: 将文件上传到运行测试场景的服务器 在 Apidog 中打开对应的测试步骤,通过参数的批量操作将文件路径参数替换为该机器上的真实路径,或...
为什么 API 用例变更时测试步骤不会自动同步?
如果步骤是从端点用例导入的,并选择以 copy 方式导入当端点的用例发生变更时,步骤不会发生变化,并且两者之间没有关联。 如果步骤是从端点用例导入的,并选择“引用”方式端点用例中的任何变更都会同步到测试步骤内容,反之,步骤变更也会同步到端点用例。 因此,如果你需要测试步骤与端点用例保持完全同...
为什么在 Markdown 文档中使用多个美元符号会导致某些内容无法正确显示?
Apidog 使用的 Markdown 编辑器会将 $xxxxx$ 解析为数学公式。如果你的内容不是数学公式,但包含多个 $,则可能解析失败并无法正确显示。为避免这种情况,可以采用以下方法: 方法 1. 使用行内代码块 将代码内容包含在反引号中,例如 原始内容 `...
自托管 Runner 在执行任务后会在服务器上生成测试报告吗?
测试报告不会本地存储在 Runner 中,请在客户端中查看。
我可以为测试场景中的请求添加统一的前置/后置处理器吗?
可以,Apidog 支持为测试场景配置统一的前置/后置处理器。启用后,当场景运行时,场景内的所有请求都会自动执行相同的前置/后置处理器。 要启用此功能: 前往项目设置。 ![img_v3_02mu_2a6d3e2f-8a5b-407c-a0f9-94a28dc692fg.png](http...
如何在单次自动化测试运行期间保持动态值一致?
动态表达式(例如 {{$person.fullName}})每次被调用时都会生成一个新值。如果你在测试流程中多次将此类表达式直接赋值给变量,可能会导致各步骤之间的数据不一致。 推荐方法: 先生成一次动态值,将其存储在变量中,然后在整个测试中引用该变量。变量在赋值时只会被求值一次,从而确保整个测试运行...
Previous
为什么浏览器请求模拟端点时不返回内容?
Next
为什么测试场景在我的本地客户端运行没有问题,但在 Apidog CLI 或运行器中运行时会出错?
Built with