http-api-test-runner 用于把一次性接口调试转成可复用的 API 测试用例与校验脚本,统一输出 PASS/FAIL/SKIP 报告。支持状态码、JSON 字段、列表断言及鉴权场景,并提供异步轮询等复杂流程示例,适合联调、自测与回归验证。
HTTP API 测试运行器是一项面向实际任务的技能,主要用于使用此技能将一次性的 HTTP 检查转换为可重复使用的 . http 大小写和一个可循环的校验脚本。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
使用此技能将一次性的 HTTP 检查转化为可复用的 .http 测试用例,并生成一个可执行的验证脚本。
必需的运行时依赖项:
bashcurlpython3快速自检:
bash --version curl --version python3 --version
默认生成两个产物:
.api-tests.http .api-verify.sh .http 文件是事实来源(source of truth)。Shell 脚本用于执行各测试用例,输出可读的 PASS/FAIL/SKIP 结果;当任意非跳过(non-skipped)用例失败时,脚本以非零退出码退出。
templates/ 目录下的模板。examples/ 目录。references/complex-scenarios.md。.api-tests.http .api-verify.sh bash -n './.api-verify.sh' bash './ .api-verify.sh' COOKIE='完整的 Cookie 请求头' AUTH_TOKEN='token value' bash './ .api-verify.sh' # (可选)针对不稳定网络环境: MAX_TIME=40 RETRY_COUNT=2 RETRY_DELAY=1 bash './ .api-verify.sh'
参见 references/debugging-cookbook.md 获取失败排查清单。
如需最简可行路径,请先查阅 GET_STARTED.md。
仅向用户询问其尚未提供的字段。
| 输入项 | 用途 |
|---|---|
| 基础 URL / 主机地址(Base URL / host) | 解析请求目标地址 |
| HTTP 方法(HTTP method) | 构造请求 |
| 认证方式(Authentication) | Cookie、Bearer Token、自定义请求头,或无需认证 |
| 请求数据(Request data) | 路径参数(path params)、查询参数(query params)、JSON 请求体(JSON body)、表单请求体(form body) |
| 测试用例(Cases) | 正向用例、负向用例、认证失败用例、边界值检查等 |
| 预期结果(Expected results) | HTTP 状态码、JSON Path 表达式、标记文本(marker text)、列表成员关系(list membership)、错误行为等 |
| 输出偏好(Output preference) | 摘要简报、关键字段提取、原始响应保存路径等 |
对于基于 Cookie 的测试,请提示用户从浏览器开发者工具 Network 面板中复制一次成功请求的完整 Cookie: 请求头。请勿尝试从 Storage 面板中拼接还原 Cookie。
生成的注释及最终使用说明应遵循用户的语言习惯。
templates/basic.api-tests.txttemplates/basic.api-verify.shexamples/resource-detail/examples/auth-login-required/examples/list-assertions/examples/async-job-polling/注意:面向发布的技能资产使用 .api-tests.txt 后缀以满足上传限制,但实际运行时生成的产物仍应使用 .api-tests.http 后缀。
| 目标 | 推荐起点 |
|---|---|
| 资源详情 / 配置查询 | examples/resource-detail/ |
| 认证失败检查 | examples/auth-login-required/ |
| 列表成员关系断言 | examples/list-assertions/ |
| 异步任务:提交 + 轮询 + 校验 | examples/async-job-polling/ |
| 从零开始新建接口端点 | templates/basic.api-tests.txt + templates/basic.api-verify.sh |
生成的 .http 文件应满足:
@host、@cookie、@token、@resourceId### 作为标题分隔符expect.* 注释用于描述期望行为生成的 Shell 脚本应满足:
.http 文件内容{{variable}} 占位符PASS/FAIL/SKIP 输出@cookie = 和 @token = 。SKIP),并附带清晰原因,而非导致解析器崩溃。rg -n "password|secret|session_id|auth_token|access_token|refresh_token"rg -n "Authorization: Bearer [A-Za-z0-9._-]+|C[o]okie: [A-Za-z0-9_%-]+="
GET_STARTED.mdreferences/assertion-cheatsheet.mdreferences/complex-scenarios.mdreferences/debugging-cookbook.mdreferences/faq.mdreferences/http_test_artifact_example.md生成产物后,请执行以下检查:
bash -n './.api-verify.sh' bash './ .api-verify.sh' COOKIE='完整的 Cookie 请求头' AUTH_TOKEN='token value' bash './ .api-verify.sh'
结果解读:
bash -n 可捕获 Shell 语法错误。SKIP 行为是否正常。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习