api-testing
SKILL.md
API 测试(中文版)
英文版: 见技能 api-testing-en。
提示词见本目录 prompts/api-testing.md。
何时使用
- 用户提到「API 测试」「api-testing」
- 需要基于 Standard-version 执行该类测试或产出对应交付物
- 触发示例:「根据以下内容生成/设计/编写…」
输出格式选项
默认 Markdown。若需 Excel / CSV / JSON,请在需求末尾说明,详见 output-formats.md。
如何使用
- 打开本目录
prompts/下对应提示词文件,复制虚线以下内容。 - 附加你的需求与上下文(业务流程、环境、约束、验收标准)。
- 若需非 Markdown 输出,在末尾追加
output-formats.md中的请求句。
代码示例
1. Postman + Newman REST API 测试
完整的用户管理 API 测试示例,包含 10 个测试用例。
位置: examples/postman-rest-api/
包含内容:
- Postman 集合文件(10 个测试用例)
- 环境变量配置
- Newman 自动化运行脚本
- 详细的 README 文档
快速开始:
cd examples/postman-rest-api
npm install -g newman
./newman-run.sh
测试覆盖:
- 用户 CRUD 操作(创建、读取、更新、删除)
- 认证和授权测试
- 错误处理和边界条件
- 响应时间验证
- 数据格式验证
详见:examples/postman-rest-api/README.md
最佳实践
API 测试设计原则
-
测试金字塔
- 单元测试:测试单个 API 端点
- 集成测试:测试多个端点的交互
- 端到端测试:测试完整的业务流程
-
测试数据管理
- 使用环境变量管理不同环境配置
- 使用动态变量避免硬编码
- 测试后清理数据
-
断言策略
- 验证状态码
- 验证响应结构(Schema Validation)
- 验证响应数据
- 验证响应时间
-
错误处理
- 测试各种错误场景(4xx, 5xx)
- 验证错误消息格式
- 测试边界条件
工具选择建议
| 工具 | 适用场景 | 优势 |
|---|---|---|
| Postman/Newman | REST API 测试 | 易用、可视化、CI/CD 集成 |
| REST Assured | Java 项目 | 强类型、BDD 风格 |
| Pytest + Requests | Python 项目 | 灵活、生态丰富 |
| SuperTest | Node.js 项目 | 与 Express 集成好 |
| GraphQL Playground | GraphQL API | 专为 GraphQL 设计 |
常见误区 | Common Pitfalls
- ❌ 只测成功路径 → ✅ 覆盖参数校验、异常处理、鉴权失败与边界场景
- ❌ 契约校验不完整 → ✅ 同时校验状态码、Schema、业务字段与兼容性
- ❌ 测试数据相互污染 → ✅ 使用可重复的种子数据并明确清理策略
- ❌ 忽略环境差异 → ✅ 校验不同环境的地址、鉴权配置与依赖版本
故障排除
详细排障步骤已迁移到 references/troubleshooting.md。 按需加载该文件,避免主技能文档过长。
参考文件
- prompts/api-testing.md — API 测试 Standard-version 提示词
- output-formats.md — Markdown / Excel / CSV / JSON 请求说明
- examples/postman-rest-api/ — Postman + Newman 完整示例
- quick-start.md — 5 分钟快速上手指南
目标受众
- 在真实项目中执行该测试域工作的 QA 与开发人员
- 需要结构化、可复用测试交付物的测试负责人
- 需要快速生成可落地测试产出的 AI 使用者
不适用场景
- 无测试范围上下文的纯线上应急处置
- 需要法律/合规最终裁定但缺少专家复核的决策
- 缺少最小输入(范围、环境、期望行为)的请求
关键成功因素
- 先明确范围、环境与验收标准,再生成测试内容
- 生成结果必须结合真实系统约束做二次校验
- 保持产物可追踪(需求 -> 测试点 -> 缺陷 -> 决策)
输出模板与解析脚本
- 模板目录:
output-templates/template-word.md(Word 友好结构)template-excel.tsv(Excel 可直接粘贴)template-xmind.md(XMind 结构化大纲)template-json.jsontemplate-csv.csvtemplate-markdown.md
- 解析脚本目录:
scripts/- 解析通用:
parse_output_formats.py - 解析按格式:
parse_word.py、parse_excel.py、parse_xmind.py、parse_json.py、parse_csv.py、parse_markdown.py - 转换通用:
convert_output_formats.py - 转换按格式:
convert_to_word.py、convert_to_excel.py、convert_to_xmind.py、convert_to_json.py、convert_to_csv.py、convert_to_markdown.py - 批量转换:
batch_convert_templates.py(批量输出到artifacts/)
- 解析通用:
示例:
python3 scripts/parse_json.py output-templates/template-json.json
python3 scripts/parse_markdown.py output-templates/template-markdown.md
python3 scripts/convert_to_json.py output-templates/template-markdown.md
python3 scripts/convert_output_formats.py output-templates/template-json.json --to csv
python3 scripts/batch_convert_templates.py --skip-same
Weekly Installs
10
Repository
naodeng/awesome…a-skillsGitHub Stars
3
First Seen
12 days ago
Security Audits
Installed on
cursor10
gemini-cli9
github-copilot9
codex9
amp9
cline9