httpie-api-test
API 接口测试工作流,使用 HTTPie 作为核心工具。当用户需要测试 API 接口、执行接口调用、生成测试报告、管理接口依赖关系、或在项目中建立标准化的接口测试流程时使用此 skill。适用于 RESTful API 测试、接口联调、回归测试等场景。
When & Why to Use This Skill
This Claude skill provides a standardized workflow for API testing using HTTPie as the core tool. It enables developers to manage API registries, execute requests with dependency tracking, and generate comprehensive test reports, streamlining the process of RESTful API debugging, integration testing, and regression verification.
Use Cases
- RESTful API Validation: Efficiently test GET, POST, and other HTTP methods using HTTPie's intuitive syntax to verify status codes and response bodies.
- Dependency-Based Workflow Execution: Define and manage complex API call sequences where certain endpoints depend on the successful execution of others (e.g., creating a resource before deleting it).
- Regression Testing: Maintain a persistent 'api-registry.md' to track the status of all endpoints, allowing for quick re-testing after code changes to ensure no breaking updates.
- Standardized Documentation and Reporting: Automatically generate markdown-based test reports from the API registry to share results with team members and maintain high quality-assurance standards.
| name | httpie-api-test |
|---|---|
| description | API 接口测试工作流,使用 HTTPie 作为核心工具。当用户需要测试 API 接口、执行接口调用、生成测试报告、管理接口依赖关系、或在项目中建立标准化的接口测试流程时使用此 skill。适用于 RESTful API 测试、接口联调、回归测试等场景。 |
HTTPie API Test
使用 HTTPie 进行 API 测试的标准化工作流。
核心工具
HTTPie 比 curl 更优雅。安装:
# macOS
brew install httpie
# Ubuntu/Debian
apt install httpie
# pip
pip install httpie
API 注册表
在项目根目录创建 api-registry.md 作为接口测试的神经中枢。完整格式见 references/api-registry.md。
基本结构
# API Registry
## Environment
| Name | Value |
|------|-------|
| BASE_URL | https://api.example.com |
| TOKEN | Bearer xxx |
## Endpoints
### [GET] /users - 获取用户列表
- Status: tested
- Depends: none
- Last tested: 2024-01-15
**Request:**
http GET $BASE_URL/users Authorization:$TOKEN
**Expected:** 200, 返回用户数组
---
### [POST] /users - 创建用户
- Status: pending
- Depends: none
**Request:**
http POST $BASE_URL/users Authorization:$TOKEN \
name="张三" email="test@example.com"
**Expected:** 201, 返回新用户对象
工作流
1. 初始化
在项目根目录创建 api-registry.md,定义环境变量和接口列表。
2. 执行测试
读取注册表,按依赖顺序执行:
# 设置环境变量
export BASE_URL="https://api.example.com"
export TOKEN="Bearer your-token"
# GET
http GET $BASE_URL/users Authorization:$TOKEN
# POST with JSON body
http POST $BASE_URL/users Authorization:$TOKEN \
name="测试" email="test@example.com"
# 保存响应
http GET $BASE_URL/users Authorization:$TOKEN > response.json
3. 更新状态
测试完成后更新注册表中的 Status 和 Last tested 字段。
4. 生成报告
python scripts/generate_report.py api-registry.md -o test-report.md
HTTPie 速查
# Headers
http url Header:Value
# 认证
http -a user:pass url
# 表单提交
http -f POST url field=value
# 仅显示 headers
http --headers url
# 详细模式
http --verbose url
依赖管理
用 Depends 字段声明依赖关系:
### [DELETE] /users/{id} - 删除用户
- Status: pending
- Depends: POST /users
测试时按依赖拓扑排序执行。
状态标记
| Status | 含义 |
|---|---|
| pending | 待测试 |
| tested | 已通过 |
| failed | 测试失败 |
| blocked | 被阻塞 |
| deprecated | 已废弃 |