# API 契约压力测试器

根据 OpenAPI 3.x 规范批量生成边界值测试请求，并可选发送到真实后端以发现契约不一致。

> 标准页面: https://elysiatools.com/zh/tools/api-contract-stress-tester

- **分类:** Development

- **关键词:** openapi, 契约测试, 边界值, api, 压力测试

## 概述

把 OpenAPI 3.x 文档粘贴到“OpenAPI 规范”中，支持 YAML 和 JSON。 需要提供的内容： - 包含 paths、parameters、requestBody 和 responses 的有效 OpenAPI 3.x 文档 - 如果请求体用了 components.schemas 引用，也可以一并填写 - 如果你希望真的向后端发起边界请求，则再填写 Base URL 各字段说明： - OpenAPI 规范：粘贴完整 YAML 或 JSON 契约 - 基础 URL：留空时只生成测试计划；填写如 https://api.example.com 时可执行真实请求 - 执行真实请求：开启后，工具会把生成的异常值或边界值请求发到 Base URL - 授权头：可选，直接填写原始值，例如 Bearer \- 每字段最大用例数：限制每个参数或请求体字段生成多少条边界用例 - 请求超时（毫秒）：限制每条真实请求最多执行多久 会测试的内容： - 缺失必填字段 - 空字符串、过短字符串、过长字符串 - 非法枚举值 - 小于 minimum 或大于 maximum 的数字 - 与文档类型不符的标量或数组值 说明： - 关闭“执行真实请求”时，工具只生成契约测试计划。 - 开启后，报告会标记实际返回的 HTTP 状态码是否在 OpenAPI responses 中有定义。 - 当前覆盖 path、query、header 和 JSON body 字段，请求体以 application/json 为主。

## 输入项

- **OpenAPI 规范** (textarea): Paste an OpenAPI 3.x YAML or JSON document here...
- **基础 URL** (text): https://api.example.com
- **执行真实请求** (checkbox)
- **授权头** (text): Bearer
- **每字段最大用例数** (number)
- **请求超时（毫秒）** (number)

## 适用场景

- 在 API 开发完成后，需要验证后端实现是否严格遵守 OpenAPI 契约定义时。
- 在接入 CI/CD 流程前，希望批量生成接口边界值测试用例以补充自动化测试覆盖率时。
- 重构遗留系统接口时，需要快速探测未处理的异常输入（如超长字符串、非法枚举或越界数值）。

## 工作原理

- 在文本框中粘贴完整的 OpenAPI 3.x 规范文档（YAML 或 JSON 格式）。
- 配置基础 URL 和授权头（可选），并设置每字段最大用例数及请求超时时间。
- 勾选“执行真实请求”以向后端发送测试，或保持关闭仅生成测试计划。
- 点击运行，工具将解析契约并输出包含缺失字段、类型错误及越界值等场景的详细 JSON 测试报告。

## 使用案例

- 后端开发人员在交付接口前，进行快速的自我契约审查，确保所有必填项和边界条件都已正确校验。
- 测试工程师利用生成的异常用例数据，快速构建针对新业务 API 的健壮性测试脚本。
- 技术负责人定期对线上或预发环境的 API 进行自动化巡检，排查未在 OpenAPI 文档中声明的 HTTP 状态码。

## 常见问题

### 支持哪些 OpenAPI 版本？

当前工具专门针对 OpenAPI 3.x 规范设计，支持 YAML 和 JSON 格式的文档解析。

### 工具会测试哪些类型的异常输入？

包括缺失必填字段、空字符串、长度越界字符串、非法枚举值、越界数值以及与文档定义不符的数据类型。

### 必须填写基础 URL 吗？

不需要。如果留空或关闭“执行真实请求”，工具只会离线生成契约测试计划，不会发起任何网络请求。

### 如何处理需要鉴权的接口？

你可以在“授权头”字段中直接填写原始的鉴权信息（例如 Bearer ），工具在发起真实请求时会自动携带该请求头。

### 为什么有些请求体字段没有生成用例？

当前版本主要覆盖 path、query、header 以及基于 application/json 的请求体字段。如果使用了其他 Content-Type，可能无法完全解析。

## 相关工具

- [cURL 转 Go (net/http)](https://elysiatools.com/zh/tools/curl-to-go): 将 cURL 命令转换为 Go net/http 代码片段，包含 http.NewRequest、请求头和请求体
- [cURL 转 JavaScript (axios)](https://elysiatools.com/zh/tools/curl-to-js-axios): 将 cURL 命令转换为 JavaScript axios 代码片段，使用配置对象、请求头和数据
- [cURL 转 JavaScript (fetch)](https://elysiatools.com/zh/tools/curl-to-js-fetch): 将 cURL 命令转换为 JavaScript fetch() 代码片段，包含请求头、请求体和方法
- [cURL 转 PHP (cURL)](https://elysiatools.com/zh/tools/curl-to-php): 将 cURL 命令转换为 PHP cURL 代码片段，包含 curl_setopt、请求头和 POST 字段
- [cURL 转 Python (requests)](https://elysiatools.com/zh/tools/curl-to-python): 将 cURL 命令转换为 Python requests 代码片段，包含请求头、数据和请求方法
- [Tailwind 色板同步器](https://elysiatools.com/zh/tools/tailwind-color-palette-sync): 输入一组 HEX,选择命名规则(色阶 50–950 / 单名 / 对象嵌套),自动生成 tailwind.config.ts 的 theme.extend.colors 片段,每个色阶同时给出 WCAG AA/AAA 对比等级,可选暗色模式。
- [Cron 表达式解释器](https://elysiatools.com/zh/tools/cron-expression-explainer): 解析 5 段 / 6 段 / Quartz cron 表达式为自然语言调度描述，按字段拆解，并按任意 IANA 时区列出接下来 N 次执行时间，附带 AI 生成的本地化自然语言解释
- [API 契约变异测试器](https://elysiatools.com/zh/tools/api-contract-mutation-tester): 对 OpenAPI 请求字段做语义变异，并可发送到真实后端以检查防御性校验覆盖率

## 示例

- [Postman Collections - API 测试](https://elysiatools.com/zh/samples/postman-collections): 全面的 Postman collection 示例，包括 API 测试、自动化脚本、环境变量、mock 服务器和 REST API 的高级测试模式
- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [OpenAI API 示例](https://elysiatools.com/zh/samples/openai): 全面的OpenAI API示例，包括GPT模型、DALL-E图像生成、Whisper音频处理和函数调用
- [WebGPU 图形API](https://elysiatools.com/zh/samples/webgpu): 用于浏览器中高性能3D图形和GPU计算的现代图形API

## 相关内容

- [JSON Schema、Mock 数据与 API 夹具生成工具](https://elysiatools.com/zh/hubs/json-generate): 围绕JSON Schema 生成、Mock 负载构建与 API 夹具准备整理的一组工具。
- [JSON Schema 与 API 契约校验工具](https://elysiatools.com/zh/hubs/json-validate): 在一个专题中比较 JSON Schema 校验、OpenAPI 响应检查、变异测试、压力测试和破坏性变更检测工具，适合 API 契约审查流程。
- [OpenAPI 文档、代码生成与契约审查工具](https://elysiatools.com/zh/hubs/openapi-utility): 在一个专题中比较 OpenAPI 代码生成、API 文档生成、Schema 差异分析、响应校验和契约测试工具，适合 API 设计与维护流程。
- [API 契约测试、Mock 与 Schema 审查工具](https://elysiatools.com/zh/hubs/api-contract-testing): 把 OpenAPI 转成文档和类型，生成 Mock，校验真实响应，并在一个专题里集中检查 Schema 破坏性变更。
