HTTP API Test Runner

Polar Sponsor
爱发电 赞助
.NET 9.0

http-api-test-runner 用于把一次性接口调试转成可复用的 API 测试用例与校验脚本,统一输出 PASS/FAIL/SKIP 报告。支持状态码、JSON 字段、列表断言及鉴权场景,并提供异步轮询等复杂流程示例,适合联调、自测与回归验证。

HTTP API 测试运行器

功能概述

HTTP API 测试运行器是一项面向实际任务的技能,主要用于使用此技能将一次性的 HTTP 检查转换为可重复使用的 . http 大小写和一个可循环的校验脚本。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

HTTP API 测试运行器

使用此技能将一次性的 HTTP 检查转化为可复用的 .http 测试用例,并生成一个可执行的验证脚本。

前提条件

必需的运行时依赖项:

  • bash
  • curl
  • python3

快速自检:

bash --version
curl --version
python3 --version

默认生成两个产物:

  • .api-tests.http
  • .api-verify.sh

.http 文件是事实来源(source of truth)。Shell 脚本用于执行各测试用例,输出可读的 PASS/FAIL/SKIP 结果;当任意非跳过(non-skipped)用例失败时,脚本以非零退出码退出。

快速上手

  1. 仅收集缺失的输入:主机地址(host)、HTTP 方法(method)、认证方式(auth)、请求数据(request data)、测试用例(cases)以及预期结果(expected results)。
  2. 选择起点:
    • 对于新接口端点,使用 templates/ 目录下的模板。
    • 若目标端点与现有示例相似,参考 examples/ 目录。
    • 如涉及多步骤或高级校验逻辑,请查阅 references/complex-scenarios.md。
  3. 生成或更新以下两个文件:
    • .api-tests.http
    • .api-verify.sh
  4. 验证所生成脚本的正确性:
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'
  1. 若测试用例失败,在修改断言前先对问题归类:
    • 认证不匹配(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 行为及断言逻辑是否符合预期。

相关专题

更多
DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

2026.11.04

0

15

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

Docker Desktop镜像构建教程
Docker Desktop镜像构建教程

想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。

2026.11.03

0

11

Docker Desktop容器创建指南
Docker Desktop容器创建指南

本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。

2026.11.03

0

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习