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

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

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

相关推荐
糖果店的幽灵5 天前
软件测试接口测试从入门到精通:JMeter接口测试
软件测试·jmeter·接口测试·压力测试·性能测试
1candobetter6 天前
JMeter 性能压测监控实战
jmeter
wenying_443237447 天前
软件测试—JMeter—跨线程组关联
jmeter·压力测试
川石课堂软件测试8 天前
UI自动化测试|下拉选择框&弹出框&滚动条操作实践
开发语言·python·jmeter·ui·docker·单元测试·harmonyos
测试199810 天前
Jmeter性能压测:TPS与QPS
自动化测试·软件测试·python·jmeter·测试用例·压力测试·性能测试
川石课堂软件测试10 天前
UI自动化测试|XPath元素定位实践
功能测试·测试工具·jmeter·microsoft·ui·postman·harmonyos
wenying_4432374411 天前
软件测试—Jmeter后置处理器—XPath提取器
jmeter
wenying_4432374411 天前
软件测试—Jmeter后置处理器—正则表达式提取器
jmeter·压力测试