测试环境
apache-jmeter-3.2
Dubbo 2.6.2
声明
本项目是基于开源项目的基础上做的优化、改进
项目地址:github.com/dubbo/jmeter-plugins-dubbo
1. 下载地址
https://gitee.com/ishouke/jmeter-plugin-dubbo
2. 使用方法
1、在程序运行的当前目录,即运行JMeter程序时所在的目录下新建dubbo目录(举例:比如先进入到JMETER_HOME/bin目录下,然后运行JMeter,那么当前目录即为JMETER_HOME/bin)(可选)
2、把要待测试接口所在*.jar包文件放到dubbo目录下(可选)
插件会遍历该目录下的*.jar文件,然后自动解析jar包中接口名称,接口方法,然后在插件界面自动展示。测试时,可通过下拉方式选取。
说明:
1、由于jar包里面待测试接口类,存在其它类依赖因素,类中的方法可能无法正常获取
2、建议该目录下,尽量少放jar包,jar包数量越多,解析耗时越久,启动jmeter耗时会越久。
3、dubbo目录下新建filter.propertities文件(可选)
文件内容如下
classInclude=
classExclude=META-INF
methodInclude=
methodExclude=wait,equals,hashCode,getClass,notify,notifyAll,toString
说明:
格式
Key=value1,value2,value3,...,valueN
含义:
如果jar包中的类名包含classInclude value值中的任意一个关键词,且不包含classExclude value值中的所有关键词,则会被解析出来,在插件GUI界面的“接口名称”下拉列表中展示
如果jar包中的方法名包含methodInclude value值中的任意一个关键词,且不包含method value值中的所有关键词,则会被解析出来,在插件GUI界面的“方法名称”下拉列表中展示
key值可以为空,比如,classInclude=
key=value值整行也可以不写,建议至少填写以下两行
classExclude=META-INF
methodExclude=wait,equals,hashCode,getClass,notify,notifyAll,toString
4、把dubbo-2.6.2.jar(可替换为其它版本,比如dubbo-2.0.4.jar),jmeter-plugin-dubbo.jar放在jmeter的libext目录下
3、添加插件
4. 插件补充说明
1、如图,如果手工输入了接口名称,则发送请求时,接口名称取自手工输入的,不会从下拉列表中选取,类似的,方法名称也是如此
2、参数类型,参数值支持自动换行,根据内容高度自适应,同时也支持 支持单元格内跨行编辑
3、注册中心类型选择为 none,则采用dubbo直连
4、鼠标移动到带 ?号图标按钮,可以查看帮助说明
5、参数类型
基础数据类型(区分大小写
int
int[]
double
double[]
short
short[]
float
float[]
long
long[]
byte
byte[]
boolean
boolean[]
char
char[]
非基础数据类型(以下不区分大小写
java.lang.String
简写:String
java.lang.String[]
简写:String[]
java.lang.Integer
简写:Integer
java.lang.Integer[]
简写:integer[]
java.lang.Double
java.lang.Double[]
java.lang.Short
java.lang.Short[]
java.lang.Long
java.lang.Long[]
java.lang.Float
java.lang.Float[]
java.lang.Byte
java.lang.Byte[]
java.lang.Boolean
java.lang.Boolean[]
[]
自定义dto实体对象类型
比如:org.apache.dubbo.demo.dto.QueryUserInfoReq
5. 运行效果展示
无jar包的情况下
支持单元格内跨行编辑
注意:编辑状态下,如果通过回车操作,让鼠标光标移动到单元格下边界,即当前编辑行不在单元格可见区域内时,则无法看到编辑操作,需要先退出单元格编辑区域,再重新双击进入可见。因此,如果目标内容需要占用较多行,可先不断回车新增大致数量行,“撑开”单元格,退出编辑后再次重新进入编辑