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. Apidog CLI
  • Apidog 学习中心
  • 入门
    • Apidog 简介
    • Apidog 中的基本概念
    • 导航 Apidog
    • 快速开始
      • 概述
      • 创建端点
      • 发送请求
      • 添加断言
      • 创建测试场景
      • 共享 API 文档
      • 探索更多
    • 迁移到 Apidog
      • 概述
      • 手动导入
      • 定时导入(绑定数据源)
      • 导入选项
      • 导出数据
      • 导入自
        • 从 Postman 导入
        • 导入 OpenAPI 规范
        • 导入 cURL
        • 导入 Markdown
        • 从 Insomnia 导入
        • 从 apiDoc 导入
        • 导入 .har 文件
        • 导入 WSDL
  • Mock API 数据
    • 概述
    • Smart Mock
    • 自定义模拟
    • 模拟优先级顺序
    • 模拟脚本
    • 云端模拟
    • 自托管 Runner 模拟
    • 模拟语言(区域设置)
  • 账号与偏好设置
    • 账户设置
    • 生成 OpenAPI 访问令牌
    • 通知
    • 语言设置
    • 快捷键
    • 网络代理配置
    • 备份数据
    • 更新 Apidog
    • 删除账户
    • 实验性功能
  • 发送请求
    • 概述
    • SSE 调试
    • MCP 客户端
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP 或 WebService
    • GraphQL
    • gRPC
    • 使用请求代理 Agent 进行调试
    • 创建请求
      • 请求历史
      • 请求基础
      • 参数和主体
      • 请求头部
      • 请求设置
      • 调试请求
      • 将请求保存为端点
      • HTTP/2
    • 身份验证与授权
      • 概述
      • CA 和客户端证书
      • 授权类型
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Hawk 身份验证
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • 响应和 Cookie
      • 查看 API 响应
      • 管理 Cookie
      • 概述
  • 开发和调试 API
    • 概述
    • 生成请求
    • 发送请求
    • 调试用例
    • 测试用例
    • 动态值
    • 验证响应
    • Design-First vs Request-First
    • 生成代码
    • 环境与变量
      • 概览
      • 使用变量
      • 环境管理
    • Vault 密钥
      • 概述
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • 动态值模块
      • Airline
      • 动物
      • 颜色
      • 商务
      • Company
      • 数据库
      • 数据类型
      • 日期
      • Finance
      • 食物
      • Git
      • Hacker
      • Helpers
      • 图像
      • Internet
      • 位置
      • Lorem
      • 音乐
      • 数字
      • Person
      • 电话
      • 科学
      • String
      • System
      • Vehicle
      • Word
    • 前置和后置处理器
      • 概述
      • 断言
      • 提取变量
      • 等待
      • 安全
      • 数据库操作
        • 概述
        • MySQL
        • MongoDB
        • Redis
        • Oracle 客户端
      • 使用脚本
        • 概述
        • 预处理器脚本
        • 后处理器脚本
        • 公共脚本
        • Postman 脚本参考
        • 调用其他编程语言
        • 使用 JS 库
        • 可视化响应
        • 脚本示例
          • 断言脚本
          • 使用变量
          • 修改请求
          • 其他示例
    • API 调试
      • AI Agent Debugger
      • A2A 调试器
  • 设计 API
    • 概述
    • 创建新的 API 项目
    • 端点基础
    • API 设计指南
    • 模块
    • 配置多个请求主体示例
    • 组件
    • 通用字段
    • 全局参数
    • 端点变更历史
    • 评论
    • 批量端点管理
    • 自定义协议 API
    • Spec-first 模式(Beta)
    • 安全方案
      • 概述
      • 创建安全方案
      • 使用安全方案
      • 在线文档中的安全方案
    • 高级功能
      • 自定义端点字段
      • 关联的测试场景
      • 端点状态
      • 参数列表的外观
      • 端点唯一标识
    • Schemas
      • 概述
      • 创建新 Schema
      • 构建 Schema
      • 从 JSON 等生成 Schema
      • oneOf, allOf, anyOf
      • 使用 Discriminator
  • Apidog Europe
    • Apidog Europe
  • API 测试
    • 概述
    • 测试场景
      • 创建测试场景
      • 在请求之间传递数据
      • 流程控制条件
      • 从端点和端点用例同步数据
      • 从其他项目导入端点和端点用例
      • 导出测试场景
    • 测试报告
      • 测试报告
    • 运行测试场景
      • 运行测试场景
      • 批量运行测试场景
      • 数据驱动测试
      • 共享测试数据
      • 定时任务
      • 管理来自其他项目的 API 运行环境
    • 测试套件
      • 概述
      • 创建测试套件
      • 编排测试套件
      • 本地运行测试套件
      • 通过 CLI 运行测试套件
      • 定时任务
    • 测试 API
      • 集成测试
      • 性能测试
      • 端到端测试
      • 回归测试
      • 契约测试
    • Apidog CLI
      • 概述
      • 安装和运行 Apidog CLI
      • Apidog CLI 选项
    • CI/CD
      • 概述
      • 与 Github Actions 集成
      • 与 Gitlab 集成
      • 与 Jenkins 集成
      • 通过 Git Commit 触发测试
  • 发布 API 文档
    • 概述
    • 支持的 API 技术
    • 快速分享
    • 查看 API 文档
    • Markdown 文档
    • 发布文档站点
    • 自定义登录页面
    • 自定义布局
    • 自定义 CSS、JavaScript、HTML
    • 自定义域名
    • AI 功能
    • SEO 设置
    • 高级设置
      • 文档搜索
      • CORS 代理
      • 集成 Google Analytics
      • 文件夹树设置
      • 可见性设置
      • 在文档 URL 中嵌入值
    • API 版本
      • 概述
      • 创建 API 版本
      • 发布 API 版本
      • 共享带有 API 版本的端点
  • 分支
    • 概述
    • 创建 Sprint 分支
    • 在分支中测试 API
    • 在分支中设计 API
    • 合并 Sprint 分支
    • 管理 Sprint 分支
    • AI Branch(Beta)
  • AI 功能
    • 概述
    • 启用 AI 功能
    • 生成测试用例
    • 使用 AI 修改 Schema
    • 端点合规性检查
    • API 文档完整性检查
    • AI 驱动的字段命名
    • 常见问题
  • Apidog MCP 服务器
    • 概述
    • 将 Apidog 项目连接到 AI
    • 将已发布的文档连接到 AI
    • 将 OpenAPI 文件连接到 AI
  • 最佳实践
    • 处理 API 签名
    • 访问受 OAuth 2.0 保护的 API
    • 协作工作流
    • 管理身份验证状态
  • 离线空间
    • 概述
  • 管理
    • 管理项目
      • 管理项目
      • 通知设置
      • 管理项目成员
      • 项目资源
        • 数据库连接
        • Git 连接
    • 管理团队
      • 管理团队
      • 管理团队成员
      • 团队活动
      • 团队角色与权限
      • 团队资源
        • General Runner
        • 团队变量
        • 请求代理 Agent
      • 实时协作
        • 团队协作
    • 入门检查清单
      • 基本概念
      • 入门指南
    • 管理组织
      • 管理组织
      • 组织角色与权限
      • 套餐管理
        • 组织中的账单管理员
      • 单点登录 (SSO)
        • SSO 概述
        • 配置 Microsoft Entra ID
        • 配置 Okta
        • 为组织配置 SSO
        • 管理用户账户
        • 将组映射到团队
      • SCIM 配置
        • SCIM 预配简介
        • Microsoft Entra ID
        • Okta
      • 组织资源
        • 自托管 Runner
  • 计费
    • 概述
    • 积分
    • 升级您的套餐
    • 替代支付方式
    • 管理订阅
    • 将付费团队移入组织
  • 附加组件
    • API Hub
    • Apidog Intellij IDEA 插件
    • 浏览器扩展
      • Chrome
      • Microsoft Edge
    • 请求代理
      • Web 中的请求代理
      • 共享文档中的请求代理
      • 客户端中的请求代理
  • 数据与安全
    • 数据存储和安全
    • 用户数据隐私与安全
    • 请求路由与数据安全
  • 参考
    • API 设计优先方法
    • Apidog OpenAPI 规范扩展
    • JSONPath
    • XPath
    • 正则表达式
    • JSON Schema
    • CSV 文件格式
    • 安装 Java 环境
    • Runner 部署环境
    • Apidog Markdown 语法
    • Apidog Swagger 扩展
      • 概述
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Apidog JSON Schema 扩展
      • 概述
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • 支持中心
  1. Apidog CLI

Apidog CLI 选项

Apidog CLI 用于从终端或 CI/CD 流水线运行自动化测试并管理 Apidog 项目资源。它支持测试执行、API 设计资源管理、环境和变量、导入和导出、文档发布、分支协作以及项目管理。

基本 Apidog CLI 语法#

大多数项目资源命令使用 --project <projectId> 来指定项目。你可以使用 --branch <branchName> 在特定分支上操作。如果省略 --branch,服务器将使用默认分支。

身份验证#

访问私有项目前,请先登录或提供访问令牌。
命令描述示例
login使用访问令牌登录并将其保存在本地。apidog login --with-token <token>
logout退出登录并清除已保存的本地令牌。apidog logout
whoami显示当前已认证用户的信息。apidog whoami
你也可以在运行命令时直接传入令牌:
如果你使用 GitHub Actions,可以将访问令牌存储在仓库的 Settings --> Secrets and Variables --> Actions --> Repository variables 下。然后使用 ${{ vars.APIDOG_ACCESS_TOKEN }} 引用它。

CLI Schema#

使用 cli-schema 在创建或更新复杂资源之前检查并验证 JSON 文件。这有助于减少由数据格式错误导致的请求失败。
命令描述示例
cli-schema list列出 CLI 支持的所有 schema 键。apidog cli-schema list
cli-schema get打印命令数据文件的 JSON Schema。apidog cli-schema get endpoint-create
cli-schema validate根据 schema 键验证本地 JSON 文件。apidog cli-schema validate endpoint-create --file ./endpoint.json
Schema 键通常组合命令路径和操作,例如 endpoint-create、test-scenario-update 和 merge-request-create。

团队和项目#

团队和项目命令是通过 CLI 管理资源的起点。使用它们来查找项目级命令所需的 ID。

团队管理#

命令描述示例
team list列出当前账号可访问的团队。apidog team list
team get查看指定团队的详情。apidog team get <teamId>

项目管理#

命令描述示例
project list列出当前账号可访问的项目。apidog project list
project get查看项目详情。apidog project get <projectId>
project create在团队下创建项目。apidog project create --team <teamId> --name "New Project"

项目设置#

命令描述示例
project settings get查看项目级设置。apidog project settings get --project <projectId>
project settings update使用 JSON 文件更新项目设置。apidog project settings update --project <projectId> --file ./project-settings.json
cli-schema get project-settings-update查看项目设置更新的 schema。apidog cli-schema get project-settings-update

环境和变量#

使用这些命令管理 API 调试和自动化测试所使用的运行时环境、全局变量和团队变量。

环境管理#

命令描述示例
environment list列出项目中的环境。apidog environment list --project <projectId>
environment get查看环境详情,例如 base URLs。apidog environment get <environmentId> --project <projectId>
environment create创建环境。apidog environment create <name> --project <projectId> --base-url <url>
environment update更新环境。apidog environment update <environmentId> --project <projectId> --file ./environment.json
environment delete删除环境。apidog environment delete <environmentId> --project <projectId>
cli-schema get environment-update查看环境更新的 schema。apidog cli-schema get environment-update

变量管理#

命令描述示例
variables list按作用域列出变量。apidog variables list --project <projectId> --scope global
variables get查看变量的值。apidog variables get --project <projectId> --scope global --key <key>
variables set创建或更新变量。apidog variables set --project <projectId> --scope global --key <key> --value <value>
variables delete删除变量。apidog variables delete --project <projectId> --scope global --key <key>
variables import从本地文件导入变量。apidog variables import --project <projectId> --scope global --file ./variables.json
variables export将变量导出到本地文件。apidog variables export --project <projectId> --scope global --output ./variables.json

API 设计资源#

使用这些命令管理 API 设计资源,包括 HTTP API 端点、schemas、文件夹、模拟规则、公共参数、响应组件和安全方案。创建或更新复杂资源时,建议先运行 cli-schema get <schemaKey> 和 cli-schema validate <schemaKey> --file <path>。

HTTP API 端点#

命令描述示例
endpoint list列出项目中的 HTTP API 端点。apidog endpoint list --project <projectId>
endpoint get查看端点详情。apidog endpoint get <endpointId> --project <projectId>
endpoint create从 JSON 文件创建端点。apidog endpoint create --project <projectId> --file ./endpoint.json
endpoint update更新端点。apidog endpoint update <endpointId> --project <projectId> --file ./endpoint.json
endpoint delete删除端点。apidog endpoint delete <endpointId> --project <projectId>
cli-schema get endpoint-create查看端点创建的 schema。apidog cli-schema get endpoint-create
cli-schema get endpoint-update查看端点更新的 schema。apidog cli-schema get endpoint-update

数据 Schemas#

命令描述示例
schema list列出项目中的数据 schemas。apidog schema list --project <projectId>
schema get查看 schema 详情。apidog schema get <schemaId> --project <projectId>
schema create从 JSON 文件创建数据 schema。apidog schema create --project <projectId> --file ./schema.json
schema update更新数据 schema。apidog schema update <schemaId> --project <projectId> --file ./schema.json
schema delete删除数据 schema。apidog schema delete <schemaId> --project <projectId>
cli-schema get schema-create查看数据 schema 创建的 schema。apidog cli-schema get schema-create
cli-schema get schema-update查看数据 schema 更新的 schema。apidog cli-schema get schema-update

Markdown 文档#

命令描述示例
doc list列出 Markdown 文档。apidog doc list --project <projectId>
doc get查看 Markdown 文档详情。apidog doc get <docId> --project <projectId>
doc create创建 Markdown 文档。apidog doc create --project <projectId> --file ./doc.json
doc update更新 Markdown 文档。apidog doc update <docId> --project <projectId> --file ./doc.json
doc delete删除 Markdown 文档。apidog doc delete <docId> --project <projectId>

资源文件夹#

使用 folder 命令管理不同资源类型的文件夹树。--type 选项选择资源类型,例如 endpoint、schema、test-scenario、response-component、security-scheme、test-suite 或 test-data。
命令描述示例
folder list按资源类型列出文件夹。apidog folder list --project <projectId> --type endpoint
folder create按资源类型创建文件夹。apidog folder create --project <projectId> --type endpoint --name "New Folder"
folder move将文件夹移动到另一个父文件夹。apidog folder move <folderId> --project <projectId> --type endpoint --parent <parentId>
folder update更新文件夹名称、描述或父级。apidog folder update <folderId> --project <projectId> --type endpoint --name "New Folder Name"
folder delete删除文件夹。apidog folder delete <folderId> --project <projectId> --type endpoint
cli-schema get folder-create查看文件夹创建的 schema。apidog cli-schema get folder-create
cli-schema get folder-update查看文件夹更新的 schema。apidog cli-schema get folder-update
--type 选择资源文件夹类型。它不是文件夹名称。description 字段仅支持 endpoint 和 test-scenario 文件夹;其他文件夹类型仅支持名称和父级更新。

模拟规则#

命令描述示例
mock list列出项目中或某个端点下的模拟规则。apidog mock list --project <projectId> --http-api-id <endpointId>
mock get查看模拟规则。apidog mock get <mockId> --project <projectId>
mock create从 JSON 文件创建模拟规则。apidog mock create --project <projectId> --file ./mock.json
mock update更新模拟规则。apidog mock update <mockId> --project <projectId> --file ./mock.json
mock delete删除模拟规则。apidog mock delete <mockId> --project <projectId>
cli-schema get mock-create查看模拟规则创建的 schema。apidog cli-schema get mock-create
cli-schema get mock-update查看模拟规则更新的 schema。apidog cli-schema get mock-update

公共参数#

命令描述示例
common-parameter list列出可复用的公共参数。apidog common-parameter list --project <projectId>
common-parameter get查看公共参数详情。apidog common-parameter get <commonParameterId> --project <projectId>
common-parameter create从 JSON 文件创建公共参数。apidog common-parameter create --project <projectId> --file ./common-parameter.json
common-parameter update更新公共参数。apidog common-parameter update <commonParameterId> --project <projectId> --file ./common-parameter.json
common-parameter import从文件导入公共参数。apidog common-parameter import --project <projectId> --file ./common-parameters.json
common-parameter export将公共参数导出到本地文件。apidog common-parameter export --project <projectId> --output ./common-parameters.json

响应组件#

命令描述示例
response-component list列出可复用的响应组件。apidog response-component list --project <projectId>
response-component get查看响应组件详情。apidog response-component get <responseComponentId> --project <projectId>
response-component create从 JSON 文件创建响应组件。apidog response-component create --project <projectId> --file ./response-component.json
response-component update更新响应组件。apidog response-component update <responseComponentId> --project <projectId> --file ./response-component.json
response-component delete删除响应组件。apidog response-component delete <responseComponentId> --project <projectId>

安全方案#

命令描述示例
security-scheme list列出项目中的安全方案。apidog security-scheme list --project <projectId>
security-scheme get查看安全方案详情。apidog security-scheme get <schemeId> --project <projectId>
security-scheme create从 JSON 文件创建安全方案。apidog security-scheme create --project <projectId> --file ./scheme.json
security-scheme update更新安全方案。apidog security-scheme update <schemeId> --project <projectId> --file ./scheme.json
security-scheme delete删除安全方案。apidog security-scheme delete <schemeId> --project <projectId>
API 路径是 API 资源路径,不是本地文件路径。如果你的 shell 会重写以 / 开头的值,请用引号包裹路径,例如 --path '/api/users',或使用 --file 提供端点数据。
对于 API 测试用例或测试场景 HTTP 步骤,responseId 应使用来自 endpoint.responses[].id 的端点响应定义 ID,而不是响应组件 ID。要复用响应组件,请先在端点响应定义中链接它。

自动化测试#

使用这些命令管理 API 测试用例、测试场景、测试套件、测试数据、测试报告、runner 和定时任务。

API 测试用例#

命令描述示例
test-case list列出 API 测试用例,可选择按端点筛选。apidog test-case list --project <projectId> --endpoint <endpointId>
test-case category列出测试用例分类。apidog test-case category --project <projectId>
test-case get查看 API 测试用例详情。apidog test-case get <caseId> --project <projectId>
test-case create从 JSON 文件创建 API 测试用例。apidog test-case create --project <projectId> --file ./case.json
test-case update更新 API 测试用例。apidog test-case update <caseId> --project <projectId> --file ./case.json
test-case delete删除 API 测试用例。apidog test-case delete <caseId> --project <projectId>
cli-schema get test-case-create查看测试用例创建的 schema。apidog cli-schema get test-case-create
cli-schema get test-case-update查看测试用例更新的 schema。apidog cli-schema get test-case-update

测试场景#

命令描述示例
test-scenario list列出项目中的测试场景。apidog test-scenario list --project <projectId>
test-scenario get查看测试场景详情。apidog test-scenario get <scenarioId> --project <projectId>
test-scenario create创建测试场景。apidog test-scenario create --project <projectId> --file ./scenario.json
test-scenario update更新测试场景。apidog test-scenario update <scenarioId> --project <projectId> --file ./scenario.json
test-scenario delete删除测试场景。apidog test-scenario delete <scenarioId> --project <projectId>
test-scenario run运行测试场景。apidog test-scenario run <scenarioId> --project <projectId> --environment <environmentId>
cli-schema get test-scenario-create查看测试场景创建的 schema。apidog cli-schema get test-scenario-create
cli-schema get test-scenario-update查看测试场景更新的 schema。apidog cli-schema get test-scenario-update

测试套件#

命令描述示例
test-suite list列出项目中的测试套件。apidog test-suite list --project <projectId>
test-suite get查看测试套件详情。apidog test-suite get <testSuiteId> --project <projectId>
test-suite create创建测试套件。apidog test-suite create --project <projectId> --file ./suite.json
test-suite update更新测试套件。apidog test-suite update <testSuiteId> --project <projectId> --file ./suite.json
test-suite delete删除测试套件。apidog test-suite delete <testSuiteId> --project <projectId>
test-suite run运行测试套件。apidog test-suite run <testSuiteId> --project <projectId> --environment <environmentId>

测试数据#

命令描述示例
test-data list列出测试数据集。apidog test-data list --project <projectId>
test-data get查看测试数据集详情。apidog test-data get <dataId> --project <projectId>
test-data create从 JSON 文件创建测试数据集。apidog test-data create --project <projectId> --file ./test-data.json
test-data update更新测试数据集。apidog test-data update <dataId> --project <projectId> --file ./test-data.json
test-data delete删除测试数据集。apidog test-data delete <dataId> --project <projectId>

测试报告#

命令描述示例
test-report list列出项目中的测试报告。apidog test-report list --project <projectId>
test-report get查看测试报告详情。apidog test-report get <reportId> --project <projectId>
test-report download将测试报告下载到本地文件。apidog test-report download <reportId> --project <projectId> --format json --output ./report.json
test-report delete删除测试报告。apidog test-report delete <reportId> --project <projectId>

Runners#

命令描述示例
runner list列出项目或团队中的 runners。apidog runner list --project <projectId>
runner get查看 runner 详情。apidog runner get <runnerId> --project <projectId>
runner create创建团队 runner。apidog runner create --team <teamId> --name <name> --runner-type <runnerType> --server-type <serverType>
runner check检查 runner 健康状态。apidog runner check <runnerId> --team <teamId>
runner delete删除 runner。apidog runner delete <runnerId> --project <projectId>

定时任务#

命令描述示例
scheduled-task list列出项目中的定时任务。apidog scheduled-task list --project <projectId>
scheduled-task get查看定时任务详情。apidog scheduled-task get <taskId> --project <projectId>
scheduled-task create从 JSON 文件创建定时任务。apidog scheduled-task create --project <projectId> --file ./scheduled-task.json
scheduled-task update更新定时任务。apidog scheduled-task update <taskId> --project <projectId> --file ./scheduled-task.json
scheduled-task delete删除定时任务。apidog scheduled-task delete <taskId> --project <projectId>
scheduled-task run手动触发定时任务。apidog scheduled-task run <taskId> --project <projectId>

核心运行命令:apidog run#

这是用于运行测试场景、测试场景文件夹、测试套件或本地导出文件的主命令。你可以从 Apidog 客户端 CI/CD 面板复制生成的命令,并在终端或 CI/CD 工作流中运行。

在线执行#

通过 Apidog 服务器运行实时测试时,使用以下命令。
将 Apidog 访问令牌与特定测试场景、测试场景目录或测试套件的 ID 一起使用。例如:

本地执行#

使用导出文件运行离线测试时,使用以下命令。
指定 Apidog 测试场景的 URL 或文件路径。例如:

运行选项#

选项描述
--access-token <accessToken>设置在线执行的身份验证令牌
-t, --test-scenario <testScenarioId>指定要运行的测试场景 ID
-f, --test-scenario-folder <folderId>指定要运行的测试场景目录 ID
--test-suite <testSuiteId>指定要运行的测试套件 ID
--project <projectId>指定项目 ID
--branch <branchName>指定分支名称;如果省略,服务器默认使用主分支
-r, --reporters [reporters]指定测试报告类型(默认:["cli"])
--out-dir <outDir>测试报告输出目录(默认:./apidog-reports)
--out-file <outFile>输出测试报告文件名,无需添加文件扩展名。你可以使用 {FOLDER_NAME}、{SCENARIO_NAME} 和 {GENERATE_TIME}
--out-json-failures-separated <outJsonFailuresSeparated>将失败项导出为单独的 JSON 文件
-e, --environment <environmentId>指定运行时环境
-n, --iteration-count <n>设置迭代次数
-d, --iteration-data <path>设置用例迭代数据(JSON 或 CSV)
--on-error <behavior>设置错误处理行为(ignore、continue 或 end)
--variables <path>从本地文件加载环境或全局变量
--global-var <value>设置全局变量(key=value 格式)
--env-var <value>设置环境变量(key=value 格式)
--notification <ids>运行完成后发送通知
--notification-failed-event <ids>仅在运行失败时发送通知
--external-program-path <path>指定外部程序的文件路径
--database-connection <path>指定数据库配置的文件路径
--ignore-redirects阻止自动重定向
--silent阻止控制台输出
--color <value>启用或禁用彩色控制台输出
--delay-request [n]指定请求之间的延迟(ms)
--timeout-request [n]指定请求超时时间(ms)
--timeout-script [n]指定脚本执行超时时间(ms)
-k, --insecure禁用 SSL 验证
--ssl-client-cert-list <path>指定客户端证书配置路径
--ssl-client-cert <path>指定客户端证书路径(PEM)
--ssl-client-key <path>指定客户端证书私钥路径
--ssl-client-passphrase <passphrase>指定客户端证书密码短语
--ssl-extra-ca-certs <path>指定额外受信任的 CA 证书
-b, --bigint启用 bigint 兼容性
--upload-report [value]将测试报告概览上传到云端
--preferred-http-version <preferredHttpVersion>设置首选 HTTP 协议版本
--verbose显示详细的请求和响应信息
--lang <language>设置 CLI 语言(en)
-h, --help显示帮助信息
创建或更新复杂测试资源(例如测试场景、测试套件、测试用例、测试数据或定时任务)时,请先使用 cli-schema get <schemaKey>,然后用 cli-schema validate <schemaKey> --file <path> 验证本地文件。

导入和导出#

使用导入和导出命令将外部 API 文档导入 Apidog,或将项目数据导出为其他工具使用的格式。

导入项目数据#

import 命令将本地文件导入项目。支持的格式包括 openapi、postman、har、insomnia、jmeter、wsdl、yapi、rap2、apidoc、hoppscotch、markdown、jsonschema 和 apidog。
命令描述示例
import按格式将本地文件导入项目。apidog import --project <projectId> --format openapi --file ./openapi.json

自动导入设置#

使用 import auto-import 维护来自外部来源的长期同步自动导入设置。
命令描述示例
import auto-import list列出项目中的自动导入设置。apidog import auto-import list --project <projectId>
import auto-import create创建自动导入设置。apidog import auto-import create --project <projectId> --file ./auto-import.json
import auto-import get查看自动导入设置。apidog import auto-import get <settingId> --project <projectId>
import auto-import delete删除自动导入设置。apidog import auto-import delete <settingId> --project <projectId>
cli-schema get import-auto-import-create查看自动导入设置的 schema。apidog cli-schema get import-auto-import-create

导出项目数据#

export 命令将项目数据导出到本地文件。支持的格式包括 openapi、markdown、html、postman 和 apidog。
对于原生 apidog 导出,scope 支持 all、apis 和 tags。文件夹 scope 仅适用于 OpenAPI 导出。
命令描述示例
export按格式导出项目数据。apidog export --project <projectId> --format openapi --output ./openapi.json
export --format apidog导出原生项目数据。apidog export --project <projectId> --format apidog --output ./project.apidog.json
export --scope apis以原生格式导出选定 API。apidog export --project <projectId> --format apidog --scope apis --api-ids 1001,1002 --output ./selected.apidog.json
export --scope tags以原生格式按标签导出 API。apidog export --project <projectId> --format apidog --scope tags --include-tags pet,store --output ./tagged.apidog.json
export --format openapi --scope folders以 OpenAPI 格式导出选定文件夹。apidog export --project <projectId> --format openapi --scope folders --folder-ids 2001 --output ./openapi.json

OAS 导出设置#

使用 export settings 维护可复用的 OAS 导出设置。
命令描述示例
export settings list列出 OAS 导出设置。apidog export settings list --project <projectId>
export settings create创建 OAS 导出设置。apidog export settings create --project <projectId> --file ./export-setting.json
export settings get查看 OAS 导出设置。apidog export settings get <settingId> --project <projectId>
export settings update更新 OAS 导出设置。apidog export settings update <settingId> --project <projectId> --file ./export-setting.json
export settings delete删除 OAS 导出设置。apidog export settings delete <settingId> --project <projectId>
cli-schema get export-settings-create查看 OAS 导出设置创建的 schema。apidog cli-schema get export-settings-create
cli-schema get export-settings-update查看 OAS 导出设置更新的 schema。apidog cli-schema get export-settings-update

文档共享#

使用这些命令发布和共享 API 文档。

文档站点#

命令描述示例
docs-site list列出文档站点。apidog docs-site list --project <projectId>
docs-site get查看文档站点详情。apidog docs-site get <siteId> --project <projectId>
docs-site create创建文档站点。apidog docs-site create --project <projectId> --file ./docs-site.json
docs-site update更新文档站点设置。apidog docs-site update <siteId> --project <projectId> --file ./docs-site.json
docs-site delete删除文档站点。apidog docs-site delete <siteId> --project <projectId>

共享文档#

命令描述示例
shared-doc list列出共享文档。apidog shared-doc list --project <projectId>
shared-doc get查看共享文档详情。apidog shared-doc get <docId> --project <projectId>
shared-doc create创建共享文档。apidog shared-doc create --project <projectId> --file ./shared-doc.json
shared-doc update更新共享文档设置。apidog shared-doc update <docId> --project <projectId> --file ./shared-doc.json
shared-doc delete删除共享文档。apidog shared-doc delete <docId> --project <projectId>

分支管理#

使用分支命令隔离变更、协作处理项目资源,并在分支之间合并选定资源。

迭代分支#

命令描述示例
branch list --type all列出项目中的所有分支类型。apidog branch list --project <projectId> --type all
branch list --type sprint列出迭代分支。apidog branch list --project <projectId> --type sprint
branch get --type sprint查看迭代分支。apidog branch get <branchName> --project <projectId> --type sprint
branch create --type sprint创建迭代分支。apidog branch create --project <projectId> --type sprint --name <branchName> --from main
branch update --type sprint更新迭代分支。apidog branch update <branchName> --project <projectId> --type sprint --name <newName>
branch merge将明确选择的资源从一个分支合并到另一个分支。apidog branch merge --project <projectId> --from <sourceBranchName> --to <targetBranchName> --endpoint-ids <ids>
branch pick-to将选定资源从源分支挑选到目标分支。apidog branch pick-to --project <projectId> --from <sourceBranchName> --to <targetBranchName> --endpoint-ids <ids>
branch archive --type sprint删除前归档迭代分支。apidog branch archive <branchName> --project <projectId> --type sprint
branch delete --type sprint删除已归档的迭代分支。apidog branch delete <branchName> --project <projectId> --type sprint

AI 分支#

命令描述示例
branch list --type ai列出 AI 分支。apidog branch list --project <projectId> --type ai
branch get --type ai查看 AI 分支。apidog branch get <branchName> --project <projectId> --type ai
branch create --type ai从源分支创建 AI 分支。apidog branch create --project <projectId> --type ai --name <aiBranchName> --from <sourceBranchName>
branch update --type ai更新 AI 分支。apidog branch update <branchName> --project <projectId> --type ai --name <newName>
branch archive --type ai删除前归档 AI 分支。apidog branch archive <branchName> --project <projectId> --type ai
branch delete --type ai删除已归档的 AI 分支。apidog branch delete <branchName> --project <projectId> --type ai

通用分支#

命令描述示例
branch list --type general列出通用分支。apidog branch list --project <projectId> --type general
branch get --type general查看通用分支。apidog branch get <branchName> --project <projectId> --type general
branch create --type general创建通用分支。apidog branch create --project <projectId> --type general --name <branchName> --from main
branch update --type general更新通用分支。apidog branch update <branchName> --project <projectId> --type general --name <newName>
branch delete --type general删除通用分支。apidog branch delete <branchName> --project <projectId> --type general
分支创建命令主要使用命令行选项,例如 --type、--name 和 --from。cli-schema get branch-*-create 用于检查创建选项结构。要查看实际命令选项,请运行 apidog branch create -h。

合并请求#

当目标分支需要评审流程时,请使用 merge-request。合并请求和直接合并只会合并明确选择的资源。
命令描述示例
merge-request preview在创建合并请求或直接合并前扫描候选变更。apidog merge-request preview --project <projectId> --from <sourceBranchName> --to <targetBranchName>
merge-request list列出合并请求。apidog merge-request list --project <projectId> --to <targetBranchName>
merge-request get查看合并请求详情。apidog merge-request get <mergeRequestId> --project <projectId> --to <targetBranchName>
merge-request create创建合并请求。apidog merge-request create --project <projectId> --to <targetBranchName> --from <sourceBranchName> --reviewer-ids <userIds> --endpoint-ids <ids>
merge-request update更新合并请求。apidog merge-request update <mergeRequestId> --project <projectId> --to <targetBranchName> --file ./merge-request.json
merge-request approve批准合并请求。apidog merge-request approve <mergeRequestId> --project <projectId> --to <targetBranchName> --file ./approve.json
merge-request reject拒绝合并请求。apidog merge-request reject <mergeRequestId> --project <projectId> --to <targetBranchName>
merge-request delete删除合并请求。apidog merge-request delete <mergeRequestId> --project <projectId> --to <targetBranchName>
为了保障项目资源安全,CLI 写入权限可能默认受限。你可以通过 AI 分支编辑源分支数据,或者在主分支、标准迭代分支或通用分支需要直接编辑时,在项目功能设置中启用外部编辑权限。在 AI 分支上进行的变更仍需用户确认后才能 merge 或 merge-request。
建议 AI 分支名称包含日期、源分支和用途,例如 ai/20260312-from-main-user-register。
对于分支合并和挑选操作,资源 ID 选项使用复数名称和逗号分隔的数字 ID,例如 --endpoint-ids 1,2、--doc-ids 3,4 和 --test-suite-ids 5,6。

其他资源#

使用这些命令管理项目扩展资源和外部连接。

自定义字段#

命令描述示例
custom-field list列出自定义字段。apidog custom-field list --project <projectId>
custom-field create创建自定义字段。apidog custom-field create --project <projectId> --file ./custom-field.json
custom-field update更新自定义字段。apidog custom-field update <customFieldId> --project <projectId> --file ./custom-field.json
custom-field delete删除自定义字段。apidog custom-field delete <customFieldId> --project <projectId>

WebSocket APIs#

命令描述示例
websocket list列出 WebSocket APIs。apidog websocket list --project <projectId>
websocket get查看 WebSocket API 详情。apidog websocket get <websocketId> --project <projectId>
websocket create创建 WebSocket API。apidog websocket create --project <projectId> --name <name> --url <url>
websocket update更新 WebSocket API。apidog websocket update <websocketId> --project <projectId> --file ./websocket.json
websocket delete删除 WebSocket API。apidog websocket delete <websocketId> --project <projectId>

Socket.IO APIs#

命令描述示例
socketio list列出 Socket.IO APIs。apidog socketio list --project <projectId>
socketio get查看 Socket.IO API 详情。apidog socketio get <socketioId> --project <projectId>
socketio create创建 Socket.IO API。apidog socketio create --project <projectId> --file ./socketio.json
socketio update更新 Socket.IO API。apidog socketio update <socketioId> --project <projectId> --file ./socketio.json
socketio delete删除 Socket.IO API。apidog socketio delete <socketioId> --project <projectId>

公共脚本#

命令描述示例
common-script list列出公共脚本。apidog common-script list --project <projectId>
common-script get查看公共脚本详情。apidog common-script get <scriptId> --project <projectId>
common-script create创建公共脚本。apidog common-script create --project <projectId> --file ./common-script.json
common-script update更新公共脚本。apidog common-script update <scriptId> --project <projectId> --file ./common-script.json
common-script delete删除公共脚本。apidog common-script delete <scriptId> --project <projectId>

数据库连接#

命令描述示例
database-connection list列出数据库连接。apidog database-connection list --project <projectId>
database-connection get查看数据库连接详情。apidog database-connection get <connectionId> --project <projectId>
database-connection create创建数据库连接。apidog database-connection create --project <projectId> --file ./database-connection.json
database-connection update更新数据库连接。apidog database-connection update <connectionId> --project <projectId> --file ./database-connection.json
database-connection delete删除数据库连接。apidog database-connection delete <connectionId> --project <projectId>

Vault Providers#

命令描述示例
vault list列出 vault providers。apidog vault list --project <projectId>
vault get查看 vault provider 详情。apidog vault get <vaultProviderId> --project <projectId>
vault create创建 vault provider。apidog vault create --project <projectId> --file ./vault.json
vault update更新 vault provider。apidog vault update <vaultProviderId> --project <projectId> --file ./vault.json
vault delete删除 vault provider。apidog vault delete <vaultProviderId> --project <projectId>

Git 连接#

命令描述示例
git-connection list列出 Git 连接。apidog git-connection list --project <projectId>
git-connection get查看 Git 连接详情。apidog git-connection get <connectionId> --project <projectId>
git-connection create创建 Git 连接。apidog git-connection create --project <projectId> --file ./git-connection.json
git-connection update更新 Git 连接。apidog git-connection update <connectionId> --project <projectId> --file ./git-connection.json
git-connection delete删除 Git 连接。apidog git-connection delete <connectionId> --project <projectId>

管理和设置#

使用这些命令进行项目管理、通知、回收站资源、变更历史和审计日志管理。

通知#

命令描述示例
notification list列出通知配置。apidog notification list --project <projectId>
notification get查看通知详情。apidog notification get <notificationId> --project <projectId>
notification create创建通知配置。apidog notification create --project <projectId> --file ./notification.json
notification update更新通知配置。apidog notification update <notificationId> --project <projectId> --file ./notification.json
notification delete删除通知配置。apidog notification delete <notificationId> --project <projectId>

回收站#

命令描述示例
recycle list列出回收站中的资源。apidog recycle list --project <projectId>
recycle restore从回收站恢复资源。apidog recycle restore <itemId> --project <projectId>
recycle delete永久删除回收站资源。apidog recycle delete <itemId> --project <projectId>

历史#

命令描述示例
history list列出项目变更历史。apidog history list --project <projectId>
history get查看变更历史详情。apidog history get <historyId> --project <projectId>

审计日志#

命令描述示例
audit-log list列出项目审计日志。apidog audit-log list --project <projectId>
audit-log get查看审计日志详情。apidog audit-log get <auditLogId> --project <projectId>

高级用法#

在 CLI 中上传文件#

处理需要文件上传的 API 时,准确设置待上传文件的路径至关重要。你应将文件存储在运行测试的同一台机器上,并使用其绝对路径或相对路径引用它。按照以下步骤引用要上传的文件。
1
提前将所需文件复制到运行 CLI 的机器。例如,如果你使用 GitHub Actions 作为 CI/CD 流水线,请将所需文件复制到与你的 workflow 相同的 GitHub 仓库中。
2
在 Apidog 中,导航到你的测试场景并找到需要文件上传的步骤。点击如下所示的 Bulk Edit 按钮。
测试场景步骤详情中的批量编辑按钮
3
复制你已复制到 CLI 机器上的文件路径。然后将文件字段参数值替换为 CLI 机器上的文件路径。例如,如果你将一个 png 文件放在 GitHub repo 的 data 文件夹下,可以使用 data/to-be-uploaded.png 引用它。
批量编辑模式中的文件路径配置
完成此配置后,文件即可通过 CLI 正确发送到 Apidog。
如果你想再次在本地运行此测试场景,需要将参数值中的文件路径改回你本地机器上的路径。

在 CLI 中使用数据库操作#

当你的测试场景包含数据库操作时,需要执行一些额外步骤,因为数据库配置保存在本地,而不是云端。这意味着你不能直接以云端模式为这些场景运行 CLI。以下是处理这种情况的方法:
1
对于包含数据库操作的测试场景,你会在命令行生成界面看到提示:“Download the database configuration file.”
2
下载此文件并将其放在你计划运行 Apidog CLI 的目录中。
3
自动生成的命令行将包含 --database-connection 选项。你可以直接使用该命令行运行测试。

将本地 CLI 测试报告上传到云端#

要将本地 CLI 测试报告上传到云端,可以在 CLI 命令末尾添加 --upload-report 参数。操作如下:
1
将 --upload-report 参数添加到你的 CLI 命令:
2
该命令将运行你的测试,并在完成后自动将测试报告上传到云端。
3
查看已上传的报告:
前往 Apidog 仪表板中的 “Test Reports” 部分。
查找 “Team Reports” 列。
4
注意:对于通过 CLI 上传的报告,“Tester” 字段将显示为空。

在 CLI 中使用外部脚本/程序#

运行 Apidog CLI 时,可以通过在命令末尾添加路径来引用外部脚本或程序。操作如下:
在此示例中,CLI 被指示引用位于 ./scripts 目录中的程序。如果未指定层级结构,默认使用当前 CLI 执行目录。
管理这些外部脚本主要有两种方法:

1. 本地路径#

为避免管理本地脚本时产生混淆,建议:
按类别组织所有脚本文件
将它们放在特定目录中
在 CLI 命令中指定对应的本地路径

2. 云端代码仓库#

或者,你可以:
将脚本文件托管在基于云的代码仓库中
在 CI/CD 工作流中设置 pull 命令,将外部脚本拉取到本地环境
在 CLI 命令中指定外部脚本的实际路径

SSL#

客户端证书#

Apidog CLI 支持传入客户端证书。

使用单个 SSL 客户端证书#

--ssl-client-cert
指定 SSL 客户端公钥证书的路径。
--ssl-client-key
指定 SSL 客户端私钥证书的路径(可选)。
--ssl-client-passphrase
指定 SSL 客户端密码短语(可选)。

使用 SSL 客户端证书配置文件(支持多个证书)#

--ssl-client-cert-list
指定 SSL 客户端证书列表 JSON 文件的路径。例如:ssl-client-cert-list.json
[
    {
        "name": "domain1",
        "matches": ["https://test.domain1.com/*", "https://www.domain1/*"],
        "key": {"src": "/CI/client.domain1.key"},
        "cert": {"src": "/CI/client.domain1.crt"},
        "passphrase": "changeme"
    },
    {
        "name": "domain2",
        "matches": ["https://domain2.com/*"],
        "key": {"src": "/CI/client.domain2.key"},
        "cert": {"src": "/CI/client.domain2.crt"},
        "passphrase": "changeme"
    }
]
此选项支持基于 URL 或主机名设置不同的 SSL 客户端证书。它优先于 --ssl-client-cert、--ssl-client-key 和 --ssl-client-passphrase 选项。如果列表中没有匹配该 URL,则这些选项将作为 fallback 选项使用。

HTTP/2#

CLI 可以通过 --preferred-http-version 参数配置为使用特定协议版本发送请求。
协议版本参数值:
1.
"HTTP/2" - HTTP/2 应用层协议协商(ALPN),仅支持 HTTPS 请求。
2.
"HTTP/2-with-prior-knowledge" - 使用 prior knowledge 的 HTTP/2。
3.
"HTTP/1" - HTTP/1.1。
该参数支持以下配置:
1.
为 HTTPS 和 HTTP 请求设置不同的协议版本:
2.
为 HTTPS 和 HTTP 设置相同的协议版本:
3.
为 HTTPS 和 HTTP 都设置 HTTP/2(不支持的值将被自动忽略):

FAQ#

如何处理错误信息 Invalid character in header content['Authorization']?
此错误通常由 Authorization 头部中的无效字符导致,例如非 ASCII 字符、换行符或多余空格。如果你确定在 Apidog 客户端或 Web 界面中运行测试场景不会产生任何错误,请检查是否已为环境中的变量设置 INITIAL values,并确认 Authorization 值符合预期格式。
如何在不使用 AI 分支的情况下直接编辑项目数据?
出于安全考虑,项目写入权限可能受限。请检查项目的功能设置,并在需要直接编辑时启用外部编辑权限。
Modified at 2026-06-09 08:55:47
Previous
安装和运行 Apidog CLI
Next
概述
Built with