Swagger转JMeter

在线Swagger转JMeter工具,将Swagger/OpenAPI JSON规范一键转换为JMeter JMX测试计划脚本,自动解析接口路径与请求方法生成HTTP采样器。支持粘贴JSON或URL加载,生成的JMX可直接在JMeter中打开运行,适用于API性能测试、压力测试与自动化回归测试。

转换次数
0
成功次数
0
失败次数
0
采样器数
0
Swagger/OpenAPI 规范
JMeter JMX 测试计划
转换后的 JMeter JMX 脚本将显示在此处...
输入 Swagger JSON 或 URL 后点击「转换为JMeter脚本」

功能特性

一键生成JMX

将Swagger 2.0 / OpenAPI 3.0规范一键转换为JMeter JMX测试计划,自动生成线程组、HTTP采样器与查看结果树等元件。

URL与JSON双输入

支持粘贴Swagger JSON内容,或填写在线文档URL由后端加载转换,满足公开文档与内网私有API两种场景。

接口自动采样

自动解析paths下的每个接口,生成对应的HTTP采样器(Sampler),包含请求方法、路径、参数与请求体。

完整测试计划结构

生成的JMX包含测试计划、线程组、HTTP采样器、查看结果树等标准元件,打开即可运行,无需手动搭建。

复制与下载

转换结果支持一键复制,或下载为.jmx文件直接在JMeter GUI中打开,快速开始性能测试。

XML语法高亮

结果区对JMX的XML标签、属性、字符串做轻量语法高亮,层级清晰,便于阅读与检查转换正确性。

使用说明

如何使用Swagger转JMeter工具?

  • 切换「粘贴 JSON」标签,直接粘贴 Swagger/OpenAPI 规范全文;或切换「从 URL 加载」标签填写在线文档地址。
  • 点击「示例」按钮可快速填充一份示例 OpenAPI 3.0 JSON,便于体验转换效果。
  • 点击「转换为JMeter脚本」按钮,后端调用转换服务生成 JMeter JMX 测试计划。
  • 结果区显示转换后的 JMX(带语法高亮),可点击「复制」或「下载JMX」保存为 .jmx 文件。
  • 打开 JMeter → File → Open → 选择下载的 .jmx 文件,即可在测试计划中看到所有接口采样器。

在JMeter中运行测试计划的步骤

  • 下载转换后的 .jmx 文件到本地。
  • 启动 JMeter GUI(运行 jmeter.batjmeter.sh)。
  • 点击 File → Open,选择下载的 .jmx 文件载入测试计划。
  • 在「线程组」中设置线程数(用户数)与循环次数,配置HTTP请求默认值(服务器地址、端口)。
  • 点击工具栏绿色播放按钮启动测试,在「查看结果树」中查看每个请求的响应。
  • 建议非GUI模式运行压力测试:jmeter -n -t test.jmx -l result.jtl,性能更稳定。

典型使用场景

  • 性能测试:基于API文档快速生成JMeter测试脚本,评估接口吞吐量与响应时间。
  • 压力测试:导入JMX后配置大并发线程数,模拟高负载场景验证系统稳定性。
  • 自动化回归:将生成的JMX纳入CI/CD流水线,每次发布自动执行接口回归测试。
  • 接口冒烟测试:快速验证一批接口的可用性与正确性,减少手工逐个调用成本。
  • API文档验证:通过执行生成的采样器,验证Swagger文档与实际接口行为是否一致。

常见问题

支持哪些Swagger/OpenAPI版本?
支持 Swagger 2.0(含 swagger: "2.0" 字段)与 OpenAPI 3.0/3.1(含 openapi: "3.x.x" 字段)两种规范。工具会自动识别规范结构并生成对应的 JMeter JMX 测试计划。建议优先使用 OpenAPI 3.0,其对请求体与响应的描述更完整,生成的采样器更准确。
转换失败提示"无效的Swagger JSON格式"怎么办?
该错误表示输入内容不是合法JSON或缺少必要字段。请:1)确认JSON语法正确(可用JSON校验工具检查逗号、引号、括号匹配);2)确认根节点包含 openapiswagger 字段及 paths 对象;3)若使用URL方式,确认URL可公开访问且返回JSON规范内容。infopaths 为必填字段。
URL加载和JSON粘贴有什么区别?
URL加载:填写Swagger文档在线地址(如 https://petstore.swagger.io/v2/swagger.json),由转换服务主动下载该文件再转换,适合公开可访问的API文档。JSON粘贴:直接粘贴规范全文,适合内网私有API(URL无法公网访问)或本地开发中的规范文件。两种方式转换结果完全一致。
生成的JMX包含哪些JMeter元件?
生成的JMX测试计划通常包含:Test Plan(测试计划根节点)、Thread Group(线程组,控制并发用户数与循环次数)、每个接口对应一个 HTTP Sampler(HTTP采样器,含请求方法、路径、参数)、以及 View Results Tree(查看结果树,用于查看响应)。打开后可直接运行,建议先在线程组中设置合理的线程数与服务器地址。
如何在JMeter中设置服务器地址和端口?
生成的HTTP采样器默认使用规范中 servers(OpenAPI 3)或 host + basePath(Swagger 2)定义的地址。如需修改,可在JMeter中:1)添加「HTTP请求默认值」配置元件统一设置服务器名/端口;2)或在每个HTTP采样器中单独修改「服务器名称」字段。建议使用「用户定义的变量」将服务器地址参数化,便于环境切换。
本工具是免费的吗?规范数据会被存储吗?
完全免费,无需注册登录。转换在服务器内存中完成,不会持久化存储任何Swagger规范内容。URL方式下规范文件经服务器中转下载并立即用于转换,转换完成后即释放。涉及高度敏感的私有API建议使用JSON粘贴方式,并先对敏感字段脱敏。