---
name: api-testcase-generator
version: 1.0.0
category: 开发编程
trigger_words:
tags:
  - api
  - excel
platform: coze
source: DeepseekModel
source_url: https://deepseekmodel.com/skill?id=seazhusp-tester-skills-skills-api-testcase-generator-skill-md
---

name api-testcase-generator description API接口自动化测试用例生成器 - 根据Swagger/OpenAPI文档生成接口测试用例与自动化脚本。 **核心能力**：解析Swagger JSON/YAML、自动分析接口依赖链路、支持多格式输出（Pytest/Postman/JMeter/Excel）、内置断言规则库、支持场景化用例生成。 **触发词**： - "生成接口测试用例"、"API测试"、"Swagger测试" - "生成自动化脚本"、"接口场景用例" - "根据接口文档生成测试" API接口自动化测试用例生成器 快速参考 输入格式 类型 支持格式 Swagger/OpenAPI .json , .yaml , .yml 在线文档 任意可访问的Swagger URL 输出格式 格式 文件后缀 适用场景 Pytest + Requests .py Python自动化测试框架 Postman Collection .json 手动/API测试 JMeter .jmx 性能/接口测试 Excel 用例 .xlsx 用例评审/管理 用例类型 类型 说明 单接口测试 每个接口独立测试 场景链路测试 多接口按业务链路串联 正向测试 正常业务流程验证 异常测试 错误参数、越权、超时等 核心功能 1. Swagger/OpenAPI 解析 自动解析 Swagger/OpenAPI 文档，提取： 接口路径 (Paths) 与 HTTP 方法 请求参数 (Query/Body/Path/Header) 响应状态码与 Schema 认证方式 (Bearer Token, API Key, OAuth2) 2. 场景链路生成 自动分析 ： 通过响应 Schema 中的 ID 字段与路径参数匹配推断依赖 识别 CRUD 模式（Create → Read → Update → Delete） 识别认证链路（Login → Business API → Logout） 手动指定 ： 执行过程中询问用户是否需要补充/调整场景链路 支持用户自定义接口调用顺序与数据传递规则 3. 断言策略 默认断言 ： HTTP 状态码匹配（2xx/4xx/5xx） 响应 Content-Type 校验 业务断言规则库 （ references/assertion-rules.md ）： 创建资源 → 调用查询接口确认存在 更新资源 → 调用查询接口确认变更 删除资源 → 调用查询接口确认不存在（404） 列表查询 → 响应为数组且包含操作项 登录 → 响应包含 Token 且后续请求认证通过 自定义断言 ： 支持用户通过注释或规则文件扩展断言 4. 多格式输出 根据用户需求或项目现有框架选择输出格式： Pytest : 生成可直接运行的 Python 测试代码，支持 conftest.py 配置 Postman : 生成 Collection v2.1 格式，含 Tests 断言脚本 JMeter : 生成 JMX 文件，含断言与变量传递 Excel : 生成标准测试用例文档，含步骤、预期结果、优先级 工作流程 1. 解析 Swagger → 提取接口定义与模型 2. 分析依赖 → 自动推断接口调用链路 3. 询问用户 → 确认/补充场景与输出格式 4. 加载断言规则 → 应用状态码与业务断言 5. 生成测试用例 → 按选定格式输出文件 详细步骤 步骤 1：解析 Swagger 读取用户提供的 Swagger JSON/YAML 或 URL，调用脚本解析： python scripts/swagger_parser.py --input swagger.json --output parsed_api.json 输出 parsed_api.json 包含： 接口列表（路径、方法、参数、响应） 模型定义（Schema） 自动推断的依赖关系 步骤 2：分析与询问 加载 parsed_api.json 后，向用户展示： 识别到的接口数量与模块分布 自动推断的场景链路（如 CRUD、登录流程） 询问是否需要： 调整/补充场景链路 选择输出格式（Pytest/Postman/JMeter/Excel） 指定现有测试框架路径（用于适配） 步骤 3：生成测试用例 确认需求后，调用生成脚本： 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_parser.py 解析 Swagger/OpenAPI 文件，输出结构化 JSON。 python scripts/swagger_parser.py --input swagger.json --output parsed_api.json generate_testcases.py 根据解析结果生成指定格式的测试用例。 python scripts/generate_testcases.py \ --input parsed_api.json \ --format pytest \ --output ./output/ 适配现有框架 若用户项目已存在测试框架，Skill 支持： 代码注入模式 ：生成用例代码插入现有 tests/ 目录 配置文件模式 ：读取现有 pytest.ini / conftest.py / package.json 适配配置 基类继承模式 ：生成的 Pytest 类继承项目现有的 BaseTest 类 询问用户时收集： 现有框架类型（Pytest/Unittest/JMeter/Postman） 基类/配置路径 认证方式与统一处理逻辑 依赖库 确保本地 Python 环境已安装： 库名 安装命令 requests pip install requests pyyaml pip install pyyaml openpyxl pip install openpyxl jinja2 pip install jinja2 示例 示例1：Swagger生成Pytest脚本 用户提供 swagger.json 解析并自动识别 CRUD 链路 询问用户确认输出格式为 Pytest 生成 test_user_api.py ： test_create_user → 创建用户并断言 201 test_get_user → 查询用户并断言存在 test_update_user → 更新用户并断言变更 test_delete_user → 删除用户并断言 404 代码可直接运行： pytest test_user_api.py 示例2：生成场景化Excel用例 用户提供在线 Swagger URL 解析后识别登录与订单模块 用户手动指定场景： Login → CreateOrder → GetOrder → CancelOrder 生成 Excel 用例，含： 步骤：接口调用顺序 数据传递：Token、OrderId 变量传递说明 断言：每步状态码与业务校验点 注意事项 Swagger 完整性 ：文档中未定义的字段或响应可能导致生成用例不完整 安全认证 ：生成的用例默认包含认证占位符，需用户补充真实 Token/密钥 数据隔离 ：场景链路中建议为每个测试生成独立数据，避免数据污染 人工评审 ：自动生成的场景链路建议人工确认业务逻辑正确性 环境配置 ：生成的脚本需配置 base_url 与认证信息后方可执行