http-api-test-runner 用于把一次性接口调试转成可复用的 API 测试用例与校验脚本,统一输出 PASS/FAIL/SKIP 报告。支持状态码、JSON 字段、列表断言及鉴权场景,并提供异步轮询等复杂流程示例,适合联调、自测与回归验证。
HTTP API 测试运行器
功能概述
HTTP API 测试运行器是一项面向实际任务的技能,主要用于使用此技能将一次性的 HTTP 检查转换为可重复使用的 . http 大小写和一个可循环的校验脚本。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
HTTP API 测试运行器
使用此技能将一次性的 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)用例失败时,脚本以非零退出码退出。
快速上手
- 仅收集缺失的输入:主机地址(host)、HTTP 方法(method)、认证方式(auth)、请求数据(request data)、测试用例(cases)以及预期结果(expected results)。
- 选择起点:
- 对于新接口端点,使用
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'
- 若测试用例失败,在修改断言前先对问题归类:
- 认证不匹配(auth mismatch)
- 请求结构不匹配(request shape mismatch)
- 环境或测试夹具不匹配(environment or fixture mismatch)
- 业务逻辑断言不匹配(business assertion mismatch)
参见 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.txt- 新建接口端点的最快路径。
- 包含一组常用变量和断言的最小集合。
templates/basic.api-verify.sh- 具备超时处理、基于环境变量注入密钥、格式化输出能力的可执行 Shell 脚本。
examples/resource-detail/- 使用 Cookie 认证并进行 JSON 字段断言的资源详情查询示例。
examples/auth-login-required/- 未认证及非法认证场景的测试用例。
examples/list-assertions/- 列表投影(projection)、成员存在性(membership)及缺失性(absence)检查。
examples/async-job-polling/- “提交 → 轮询 → 校验”模式的异步任务工作流,配套提供可执行的预置步骤脚本(pre-step script)。
注意:面向发布的技能资产使用 .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 |
产物契约(Artifact Contract)
生成的 .http 文件应满足:
- 声明变量,例如
@host、@cookie、@token、@resourceId - 每个测试用例使用
###作为标题分隔符 - 每个用例仅包含一个请求
- 添加明确的
expect.*注释用于描述期望行为 - 默认不将真实密钥写入该文件
生成的 Shell 脚本应满足:
- 读取
.http文件内容 - 解析
{{variable}}占位符 - 支持通过环境变量传入密钥(secrets)
- 为每个用例打印
PASS/FAIL/SKIP输出 - 打印汇总行(summary line)
- 任一非跳过用例失败时,以非零退出码退出
安全规则
- 禁止提交真实的 Cookie、Token、密码或内部凭证。
- 使用占位符表达密钥,例如
@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.md - 断言语法参考:
references/assertion-cheatsheet.md - 复杂流程与高级校验:
references/complex-scenarios.md - 失败诊断与分类处理:
references/debugging-cookbook.md - 常见问题解答(FAQ):
references/faq.md - 轻量级、可发布的示例:
references/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行为是否正常。 - 传入密钥运行,用于验证实际 API 行为及断言逻辑是否符合预期。
热门AI工具
相关专题
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。
0
2026.11.04
本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。
0
2026.11.03
想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。
0
2026.11.03
本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。
0
2026.11.03
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习