HTTP API 测试运行器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_712f4d1a/http-test。
技能介绍
要解决什么问题
接口联调时,我们常在浏览器 Network 里点几次、或随手 curl 一条,看到 200 就以为没问题。过几天环境变了、Cookie 过期、或断言只靠肉眼扫 JSON,同样的检查很难复现,失败时也只剩一大段原始响应。
这个技能把一次性的 HTTP 检查收成两样可重复产物:一份 .http 用例文件,以及能批量执行并打印 PASS/FAIL/SKIP 报告的格式化脚本,而不是把响应体原样倒出来。
技能如何工作
你提供 Base URL、端点、方法、鉴权方式(Cookie、Bearer、自定义头或无鉴权)、请求体/查询参数,以及各场景的期望结果(状态码、JSON 路径、文本标记、errno、列表成员等)。技能会按项目习惯在测试或文档附近生成:
.http文件:用@host、@token等变量;每个用例一条请求;用###标题和expect.*注释写断言(如expect.status、expect.json_path+expect.equals、expect.list_contains)。- 格式化脚本:解析
.http、从环境变量读密钥、用curl发请求(带超时),尽量解析 JSON,按用例输出可读报告;任一非 SKIP 用例失败则非零退出。默认优先 bash + curl,JSON 解析倾向内嵌 python3,避免强依赖jq。
密钥处理:默认可提交产物里不写真实 Cookie/Token,占位符 + 脚本读 COOKIE、AUTH_TOKEN 等;缺密钥时鉴权用例 SKIP 并说明,而不是误报解析失败。仅在你明确要求本地便利时,才在本地脚本里嵌入,并带发布前检查提示。
适用边界与注意点
- 适合:REST/HTTP 多场景回归、从浏览器/cURL 复现请求、需要汇总「哪些 case 过了」的联调。
- 断言以
.http里显式expect.*为准;若 API 用code/error而非errno,生成逻辑会按约定适配字段名。 - 鉴权失败或登录页返回时,应对照完整
Cookie/Authorization头、host/路径与环境是否一致,以及 CSRF 等业务头是否缺失。 - 列表校验通过但条目看起来不对时,脚本应展示实际匹配项;结构稳定时优先 JSON 路径断言,少靠全文模糊搜索。
使用场景
- 后端改完一组 REST 接口后,要把登录、鉴权失败和边界请求写成可重复跑的 .http 用例并汇总 PASS/FAIL
- 从浏览器 Network 复制成功请求的 Cookie 与路径,复现为团队共用的接口回归用例,避免只留一次性的 cURL
- 联调第三方 HTTP API 时,需对状态码、JSON 字段路径和 errno 等多场景断言,并输出可读失败报告而非原始响应
- 发布前在预发环境用 Bearer 或自定义头批量重放 POST/GET 用例,缺密钥时明确 SKIP 而不是误报
适合人员
- 负责 REST 服务发布、需要在改代码后快速回归多组端点与鉴权场景的后端工程师
- 经常从 Chrome Network 或 cURL 抓请求、希望沉淀成 .http + 脚本供同事重跑的全栈或接口联调开发
- 要覆盖正向、负向、校验失败等 case,并统一对照 .http 里 expect.* 断言做接口验收的测试工程师
- 维护预发/测试环境变量注入(Cookie、Token),希望脚本非零退出便于接入流水线门禁的平台或 DevOps 工程师