springdoc-openapi 接口转换为JMeter测试计划实践

1. 实践目标

  1. demo-api 增加 springdoc-openapi 能力,自动暴露 OpenAPI 文档。

  2. 基于 OpenAPI Generator,通过 cli 方式快速生成 JMeter 测试计划。

  3. 将生成出的 .jmx 文件作为接口测试起点,再结合 JMeter 进行调试和执行。


2. 实践步骤

第一步:启动 demo-api

先启动应用,确保服务运行在本机 8080 端口。

第二步:验证 OpenAPI 文档

启动 demo-api 后,可访问:

  • OpenAPI JSON:http://localhost:8080/v3/api-docs

在浏览器访问:

  • http://localhost:8080/v3/api-docs

如果能正常返回 JSON,说明 OpenAPI 文档已经可用。

第三步:使用客户端工具

安装:https://openapi-generator.tech/docs/installation#jar

我采用的 scoop安装 方式。

执行指令:确认安装成功

使用openapi生成jmeter脚本

代码语言:Shell

自动换行

AI代码解释

复制代码
PS C:\Users\Carter.li> openapi-generator-cli generate -i http://localhost:8080/v3/api-docs -g jmeter -o  D:\data\mydemo

执行结果:

展开

代码语言:Shell

自动换行

AI代码解释

复制代码
[main] INFO  o.o.codegen.DefaultGenerator - Generating with dryRun=false
[main] INFO  o.o.c.ignore.CodegenIgnoreProcessor - No .openapi-generator-ignore file found.
[main] INFO  o.o.codegen.DefaultGenerator - OpenAPI Generator: jmeter (client)
[main] INFO  o.o.codegen.DefaultGenerator - Generator 'jmeter' is considered stable.
[main] WARN  o.o.codegen.utils.ExamplesUtils - No application/json content media type found in response. Response examples can currently only be generated for application/json media type.
[main] INFO  o.o.codegen.TemplateManager - writing file D:\data\mydemo\HelloControllerApi.jmx
[main] INFO  o.o.codegen.TemplateManager - writing file D:\data\mydemo\HelloControllerApi.csv
[main] INFO  o.o.codegen.TemplateManager - writing file D:\data\mydemo\LoginControllerApi.jmx
[main] INFO  o.o.codegen.TemplateManager - writing file D:\data\mydemo\LoginControllerApi.csv
[main] INFO  o.o.codegen.TemplateManager - writing file D:\data\mydemo.openapi-generator-ignore
[main] INFO  o.o.codegen.TemplateManager - writing file D:\data\mydemo.openapi-generator\VERSION
[main] INFO  o.o.codegen.TemplateManager - writing file D:\data\mydemo.openapi-generator\FILES
############################################################################################
# Thanks for using OpenAPI Generator.                                                      #
# We appreciate your support! Please consider donation to help us maintain this project.   #
# https://opencollective.com/openapi_generator/donate                                      #
############################################################################################

第四步:确认生成结果

jmeter打开;


3. JMeter 安装补充

如果本机尚未安装 JMeter,可按官方方式准备:

  1. 下载 Apache JMeter 发布包

  2. 解压到本地目录

  3. 确保本机已有 Java 8 或更高版本

Windows 启动方式:
bin\jmeter.bat说明:

  • GUI 模式适合创建、录制、调试测试计划

  • 正式压测建议使用非 GUI 模式


4. 说明

执行流程图


5. 小结

本方案已经把链路收敛为一套可直接复用的方法:

  1. 启动 demo-api

  2. 验证 /v3/api-docs

  3. 使用 OpenAPI Generator cli 生成 .jmx

  4. 将生成结果输出到本地目录

  5. 用 JMeter 打开并继续补充测试逻辑

这条路径的价值在于:

  • 不依赖本地安装 openapi-generator-cli.jar

  • 能快速从接口文档得到测试计划骨架

  • 适合作为接口测试和后续压测脚本的起点

相关推荐
Qredsun4 天前
jmeter setUp Thread Group
jmeter
Qredsun4 天前
jmeter全局变量的设置与使用
jmeter
菩提树下的打坐6 天前
性能测试进阶:从 JMeter 基线到 SLO 驱动的压测体系
学习·jmeter
zzz_23688 天前
ShopXO 商城系统测试报告:功能、后台管理、异常状态与 JMeter 性能验证
jmeter
小白上线*^_^*8 天前
Jmeter从入门到精通指南
软件测试·测试工具·jmeter·接口测试·测试工程师
zzz_236810 天前
码上面试平台测试报告:功能、后台管理、异常状态与 JMeter 性能验证
jmeter·面试·职场和发展
郑重其事,鹏程万里12 天前
JMeter组件说明
jmeter
川石课堂软件测试12 天前
安全测试|服务器安全加固方法
服务器·功能测试·测试工具·jmeter·mysql·web安全·单元测试
测试员周周14 天前
【skills5】一份 spec 生成 k6/JMeter/Locust:性能压测 + 全站截图,上线前的双保险
功能测试·网络协议·测试工具·jmeter·http·自动化·集成测试