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

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

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

相关推荐
狼爷1 天前
JMeter 全指南:从性能测试入门到架构级实战
jmeter·测试
雪碧聊技术3 天前
什么是压力测试?压力测试的工具有哪些?一文详解
jmeter·压力测试·wrk
弹简特4 天前
【精通JMeter接口测试-完结】05-JMeter通关收官!BeanShell和接口签名
jmeter·beanshell·接口签名
某人辛木5 天前
JMeter下载安装配置
jmeter
查拉图斯特拉面条7 天前
JMeter脚本中断排查:CSV配置导致线程提前终止
jmeter
lifewange9 天前
JMeter InfluxDB 后端监听器 全参数详解
jmeter
川石课堂软件测试10 天前
技术分享|JMeter接口与性能测试实战
数据库·功能测试·测试工具·jmeter·单元测试·postman·prometheus
弹简特11 天前
【精通JMeter接口测试】03-JMeter 接口测试持续集成踩坑记:jtl 转 Allure 报告、Jenkins 定时执行、CSP 样式劫持全解决
jmeter·自动化·jenkins
晨+燕11 天前
JMeter中如何定位到某个具体的类来自于哪个jar包
python·jmeter·jar