Hurl 声明式 HTTP 请求运行器与测试器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/hurl-declarative-http-request-runner-tester。
技能介绍
解决的 API 测试痛点
手动用浏览器或 curl 验证接口不仅重复,且难以沉淀为可回归的测试资产。编写 Python 或 Java 测试脚本虽然灵活,但依赖管理繁琐,且对非开发人员不够友好。Hurl 采用声明式纯文本,将 HTTP 请求与断言逻辑沉淀为简单易懂的脚本文件,解决了接口验证不够结构化、难以在 CI 中低成本运行的问题。
核心工作方式与关键步骤
Hurl 基于 libcurl 构建,将测试流程拆解为三个关键步骤:
- 声明式请求:在纯文本文件中直接编写
GET、POST等请求,无需编写控制流代码。 - 链式执行与捕获:支持将多个请求串联,并能从响应中提取值(如
token)用于后续请求的请求头或请求体。 - 响应断言:内置
JSONPath和XPath引擎,可直接对返回的 JSON 或 XML 结构进行断言(如验证状态码、字段值或集合长度)。 - CI/CD 集成:作为命令行工具,可直接嵌入流水线,实现接口回归与端点验证的自动化。
适用边界与注意事项
在使用 Hurl 时,需注意其默认行为与特定限制:
- 重定向处理:默认情况下不自动跟随重定向(
3xx),需要手动编写每一步重定向请求以便单独分析响应,这与curl -L的行为不同。 - 断言范围:针对 JSON 响应的断言(如节点值、集合计数)依赖
[JSONPath]语法,需确保表达式准确。 - 环境依赖:作为独立工具,需确保运行环境(如 Docker 镜像或本地 Runtime)已正确配置。
使用场景
- 已有接口文档,需要把登录、查询等请求写成可重复运行的端到端测试脚本
- CI 流水线需要执行接口断言,验证 JSON 字段与响应状态是否满足预期
- 多个请求存在依赖时,需要从前面的响应中提取值并用于后续请求
- 需要验证重定向链路,逐跳检查每个 3xx 响应的状态与头信息
适合人员
- 后端工程师,已有 curl 测试经验,希望把接口调用改写成可维护的文本脚本
- DevOps 工程师,需要在 CI 中加入轻量级接口验证,避免编写测试代码
- 测试工程师,负责 API 回归,想通过 JSONPath 断言校验响应结构
- 前端工程师,需要针对接口编写联调与冒烟测试用例