工具及下载链接
工具:Openapi Generator
下载页:https://openapi-generator.tech/docs/installation/#jar
也可以在这里直接下载jar包:https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.2.0/openapi-generator-cli-6.2.0.jar
环境准备
- swagger.json 文件
- Java环境(Java 8 及以上)
- Jmeter环境
- 以及前面下载的 OpenAPI Generator jar包
OpenAPI Generator 环境配置(win环境)
此步可以不做,下载的jar包解压即可使用,但为了后续使用方便,推荐做此配置,在此使用win演示,其余系统可参照配置(亦可参照第一节,下载页链接)。
-
下载后的jar包将文件名中版本号删除(openapi-generator-cli-6.2.0.jar → openapi-generator-cli.jar)并放置在一个新的文件夹下,本文实例放置在 C:\myTool\Swagger2Jmeter 目录下;
-
新建 Sw2Jmeter.ps1、Sw2Jmeter.bat 两个脚本文件(按需使用,powerShell 可执行 ps1 和 bat,cmd 仅支持 bat);
$jsonPath = $args[0] java -jar $env:Sw2Jm_HOME\openapi-generator-cli.jar generate -g jmeter -i $jsonPath
Sw2Jmeter.ps1 文件
java -jar %Sw2Jm_HOME%\openapi-generator-cli.jar generate -g jmeter -i %~1%
Sw2Jmeter.bat 文件
也放置在该目录下,完成这步后你的目录应该像这样;
-
新建环境变量:Sw2Jm_HOME,变量值为之前的目录(C:\myTool\Swagger2Jmeter);
-
编辑Path变量,在最后一行添加 %Sw2Jm_HOME% ,到这步就算配置完成了。
生成jmeter脚本
切换到存放swagger.json的目录下,执行命令
想练习的话可以 swagger 官方提供的接口问大哥网址内下载 https://petstore.swagger.io/ 下载 swagger.json 文件
-
cmd 执行:Sw2Jmeter.bat swagger.json
-
power shell 执行:Sw2Jmeter.ps1 swagger.json
-
没有配置第三步的执行:java -jar openapi-generator-cli.jar generate -g jmeter -i swagger.json(写脚本配置第三步主要就是因为懒,不想每次都输这么长一串,复制粘贴也嫌麻烦)
命令执行成功后,就会生成所需的 jmx 、csv 文件:
导入 jmeter
-
打开jmeter;
-
file → open(以StoreApi.jmx为例)
-
导入成功后,基本的信息就已经导入了了,但也不代表能直接run,还需要对着接口文档(例:https://petstore.swagger.io/)做一些调试,设计自己所需的测试数据,断言之类的。
-
此处需修改这么几处(仅此例,不同情况不同处理):
-
user defined variables:
-
http request defaults:
-
body data:
-
csv 文件(调试时可用文档中的Example Value):
-
测试一下(附件:StoreApi.jmx、StoreApi.csv):
-
Swagger Json格式解析
此图来源于网络,如有侵权,请联系删除