用途:在端到端之外走接口级测试路径。输入为 OpenAPI/Swagger 文档、用例 Schema 中 execution_model 可自动化的接口用例、被测环境信息(base URL、账号/Token);性能轴移交专项压测。输出为 API 测试脚本与执行分报告 测试报告_api_{日期}.md,压测场景另产 k6 脚本与报告。Web UI 流程归 automated-e2e-testing,接口手动用例设计归 test-case-writing。
主要能力:从文档提取接口清单、参数表、错误码、鉴权方式;从用例 Schema 过滤 framework: api 及非 manual 的 dev-collab 用例。用例设计以参数矩阵逐参数×逐属性覆盖必填缺失、类型错误、边界值;鉴权测无/过期/错误 Token 与越权;另覆盖幂等、并发写、错误响应、写后读回一致。多参数组合按全组合→成对→风险挑选显式降档并留痕。脚本默认 pytest + requests,一接口一文件、test 名沿用 TC 编号,断言采用状态码+业务码+关键字段三件套,数据自建自清理。可选 Schemathesis 做 schema 一致性与结构级负向 fuzzing。
用法:统一请求封装见 common/client.py,requests.Session 需显式拼接 base_url;敏感信息走环境变量,不硬编码。运行:pytest api-tests/ -v --tb=short,或 pytest api-tests/test_coupon_create.py。失败先归因(系统 Bug/环境/用例自身),≥3 条按 triage 四分类批量分流,仅真缺陷进入 Bug 记录,根因分析移交 bug-analysis。流水线运行三条约定见 core/pipeline-integration.md。
限制:不覆盖 Web UI 交互、手动用例编写、端到端流水线、独立压测环境搭建与 Mock Server。schema 校验不等于消费者契约,字段语义变更不可见。fuzzing 发现的 5xx 视为候选缺陷而非自动记 Bug。无插桩条件时跳过结构覆盖证据。转换前需过 executability 红线闸门。