协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
api-testcase-generator【开发与工程】API接口自动化测试用例生成器 - 根据Swagger/OpenAPI文档生成接口测试用例与自动化脚本。 **核心能力**:解析Swagger JSON/YAML、自动分析接口依赖链路、支持多格式输出(Pytest/Postman/JMeter/Excel)、内置断言规则库、支持场景化用例生成。 **触发词**: - "生成接口测试用例"、"API测试"、"Swagger测试" - "生成自动化脚本"、"接口场景用例" - "根据接口文档生成测试"
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: api-testcase-generator description: > API接口自动化测试用例生成器 - 根据Swagger/OpenAPI文档生成接口测试用例与自动化脚本。
核心能力:解析Swagger JSON/YAML、自动分析接口依赖链路、支持多格式输出(Pytest/Postman/JMeter/Excel)、内置断言规则库、支持场景化用例生成。
触发词:
| 类型 | 支持格式 |
|---|---|
| Swagger/OpenAPI | .json, .yaml, .yml |
| 在线文档 | 任意可访问的Swagger URL |
| 格式 | 文件后缀 | 适用场景 |
|---|---|---|
| Pytest + Requests | .py | Python自动化测试框架 |
| Postman Collection | .json | 手动/API测试 |
| JMeter | .jmx | 性能/接口测试 |
| Excel 用例 | .xlsx | 用例评审/管理 |
| 类型 | 说明 |
|---|---|
| 单接口测试 | 每个接口独立测试 |
| 场景链路测试 | 多接口按业务链路串联 |
| 正向测试 | 正常业务流程验证 |
| 异常测试 | 错误参数、越权、超时等 |
自动解析 Swagger/OpenAPI 文档,提取:
自动分析:
手动指定:
默认断言:
业务断言规则库(references/assertion-rules.md):
自定义断言:
根据用户需求或项目现有框架选择输出格式:
1. 解析 Swagger → 提取接口定义与模型
2. 分析依赖 → 自动推断接口调用链路
3. 询问用户 → 确认/补充场景与输出格式
4. 加载断言规则 → 应用状态码与业务断言
5. 生成测试用例 → 按选定格式输出文件
读取用户提供的 Swagger JSON/YAML 或 URL,调用脚本解析:
python scripts/swagger_parser.py --input swagger.json --output parsed_api.json
输出 parsed_api.json 包含:
加载 parsed_api.json 后,向用户展示:
确认需求后,调用生成脚本:
python scripts/generate_testcases.py \
--input parsed_api.json \
--format pytest \
--scenarios scenarios.json \
--output ./api_tests/
参数说明:
--input: 解析后的 API JSON 文件--format: 输出格式(pytest, postman, jmeter, excel)--scenarios: 场景链路配置 JSON(可选,默认使用自动分析结果)--output: 输出目录参考 references/assertion-rules.md 获取完整规则。
| 操作类型 | 断言内容 |
|---|---|
| POST 创建 | 状态码 201/200;响应体包含创建字段;调用 GET 确认存在 |
| GET 查询 | 状态码 200;响应体为对象/数组;关键字段非空 |
| PUT/PATCH 更新 | 状态码 200;响应体字段已更新;调用 GET 确认变更 |
| DELETE 删除 | 状态码 200/204;调用 GET 返回 404 |
| LIST 列表 | 状态码 200;响应为数组;分页字段正确 |
| LOGIN 登录 | 状态码 200;响应包含 token;使用 token 访问受保护接口成功 |
参考 references/scenario-patterns.md 获取完整模式。
| 场景 | 链路示例 |
|---|---|
| CRUD 完整流程 | Create → Get → Update → Get → Delete → Get(404) |
| 认证业务流 | Login → Create → List → Logout → AccessDenied |
| 数据准备流 | Login → CreateData → RunTest → DeleteData → Logout |
| 批量操作流 | Login → CreateA → CreateB → List → DeleteAll → Logout |
解析 Swagger/OpenAPI 文件,输出结构化 JSON。
python scripts/swagger_parser.py --input swagger.json --output parsed_api.json
根据解析结果生成指定格式的测试用例。
python scripts/generate_testcases.py \
--input parsed_api.json \
--format pytest \
--output ./output/
若用户项目已存在测试框架,Skill 支持:
tests/ 目录pytest.ini / conftest.py / package.json 适配配置询问用户时收集:
确保本地 Python 环境已安装:
| 库名 | 安装命令 |
|---|---|
requests | pip install requests |
pyyaml | pip install pyyaml |
openpyxl | pip install openpyxl |
jinja2 | pip install jinja2 |
swagger.jsontest_user_api.py:
test_create_user → 创建用户并断言 201test_get_user → 查询用户并断言存在test_update_user → 更新用户并断言变更test_delete_user → 删除用户并断言 404pytest test_user_api.pyLogin → CreateOrder → GetOrder → CancelOrderbase_url 与认证信息后方可执行