Http Api Test Runner

将 API 接口测试配置转化为可复用的测试文件与验证脚本。

已扫描
适合谁
后端开发人员、测试工程师
不适合谁
无 API 测试需求的普通用户、不熟悉命令行操作的初学者
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @may4748854-rgb/http-test

Skill 说明

命令、参数、文件名以原文为准

HTTP API 测试运行器

使用此技能可将一次性 HTTP 检查转换为可复用的 .http 测试用例和可执行的验证脚本。

默认生成两个文件:

  • <feature>.api-tests.http
  • <feature>.api-verify.sh

.http 文件是唯一真实来源。Shell 脚本会执行测试用例,输出清晰的 PASS/FAIL/SKIP 结果,并在任意非跳过用例失败时返回非零退出码。

快速开始

  1. 仅收集缺失的输入项:主机地址、HTTP 方法、认证方式、请求数据、测试用例及预期结果。
  2. 选择起点:

- 新接口使用 templates/ 目录。

- 接口与已有示例相似时使用 examples/

- 复杂流程或高级验证场景参考 references/complex-scenarios.md

  1. 生成或更新:

- <feature>.api-tests.http

- <feature>.api-verify.sh

  1. 验证生成的脚本:
bash -n './<feature>.api-verify.sh'
bash './<feature>.api-verify.sh'
COOKIE='完整的 Cookie 请求头' AUTH_TOKEN='令牌值' bash './<feature>.api-verify.sh'
  1. 若测试用例失败,请在修改断言前先分类问题原因:

- 认证信息不匹配

- 请求结构不匹配

- 环境或测试数据不匹配

- 业务逻辑断言不匹配

详见 references/debugging-cookbook.md 中的故障排查清单。

需要收集的内容

仅向用户提供尚未提供的字段。

输入项用途
基础 URL / 主机地址解析请求目标
HTTP 方法构建请求
认证方式Cookie、Bearer Token、自定义头部或无认证
请求数据路径参数、查询参数、JSON 正文、表单数据
测试用例正向、负向、认证失败、边界值检查
预期结果状态码、JSON 路径值、标记文本、列表成员关系、错误行为
输出偏好简要摘要、关键字段、原始响应保存路径

对于基于 Cookie 的测试,请用户从浏览器网络请求中复制完整的 Cookie: 请求头。不要通过存储面板重建 Cookie。

生成的注释和最终使用说明应遵循用户的语言习惯。

选择起点

  • templates/basic.api-tests.http.txt

- 新接口最快上手路径。

- 包含一组常见变量和断言。

  • templates/basic.api-verify.sh

- 可运行的 Shell 脚本,包含超时处理、环境变量注入密钥、格式化输出。

  • examples/resource-detail/

- 使用 Cookie 认证的资源详情查询,包含 JSON 字段断言。

  • examples/auth-login-required/

- 未认证和无效认证情况的测试用例。

  • examples/list-assertions/

- 列表投影、成员关系和不存在性检查。

  • examples/async-job-polling/

- 提交 -> 轮询 -> 验证模式,附带可运行的前置脚本以支持异步工作流。

注意:发布用的技能资源使用 .http.txt 后缀以满足上传限制,但运行时生成的文件仍应使用 .api-tests.http

产物契约

生成的 .http 文件应满足以下要求:

  • 声明变量如 @host@cookie@token@resourceId
  • 使用 ### 标题区分每个测试用例
  • 每个用例仅包含一个请求
  • 添加显式的 expect.* 注释
  • 默认不包含真实密钥

生成的 Shell 脚本应满足以下要求:

  • 读取 .http 文件
  • 解析 {{variable}} 占位符
  • 从环境变量接收密钥
  • 为每个用例输出 PASS/FAIL/SKIP
  • 输出汇总行
  • 任意非跳过用例失败时返回非零退出码

安全规则

  • 不要提交真实的 Cookie、Token、密码或内部凭证。
  • 使用占位符如 @cookie = <通过 COOKIE 设置>@token = <通过 AUTH_TOKEN 设置>
  • 当密钥缺失时,认证相关用例应 SKIP 并给出明确原因,而非导致解析器崩溃。
  • 发布或提交生成产物前,运行轻量级密钥扫描:
rg -n "password|secret|session_id|auth_token|access_token|refresh_token" <artifact-dir>
rg -n "Authorization: Bearer [A-Za-z0-9._-]+|C[o]okie: [A-Za-z0-9_%-]+=" <artifact-dir>

参考索引

  • 断言参考:references/assertion-cheatsheet.md
  • 复杂流程与高级验证:references/complex-scenarios.md
  • 故障诊断与排查:references/debugging-cookbook.md
  • 轻量级可发布示例:references/http_test_artifact_example.md

默认运行检查

生成产物后,请执行以下命令:

bash -n './<feature>.api-verify.sh'
bash './<feature>.api-verify.sh'
COOKIE='full Cookie header' AUTH_TOKEN='token value' bash './<feature>.api-verify.sh'

解释如下:

  • bash -n 用于捕获 Shell 语法错误。
  • 无密钥运行可验证解析正确性和预期的 SKIP 行为。
  • 使用密钥运行可验证实际 API 行为和断言有效性。
MR
@may4748854-rgb

已收录 2 个 Skill

相关推荐