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

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

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

相关推荐
测试19982 天前
Jmeter接口自动化生成测试报告html格式详解
自动化测试·python·测试工具·jmeter·职场和发展·测试用例·接口测试
stillstream_ink3 天前
OpenCart性能压测复盘|JMeter\+Locust双工具实操,附5个踩坑记录
jmeter·测试
岁月失语唯石能言6 天前
《 Web项目测试实战:博客系统的功能/接口/自动化/性能全流程测试报告》
自动化测试·功能测试·selenium·jmeter·接口测试·压力测试·性能测试
中国软件测试质量协会7 天前
国产性能测试工具:kylinPET高仿真与高并发性能测试技术深度解析——与JMeter、LoadRunner全面对比
测试工具·jmeter
拜托多多指教8 天前
【JMeter】外观设置(Mac)
jmeter
川石课堂软件测试15 天前
自动化测试常见的异常处理
python·jmeter·mysql·docker·容器·单元测试·grafana
wuhuhuan15 天前
JMeter 性能测试教程
jmeter
行者-全栈开发16 天前
JMeter + InfluxDB + Grafana:搭建生产级压测实时监控与告警体系
jmeter·grafana·时序数据库·influxdb·实时监控·backendlistener·告警性能测试