(本文图片过于横长,请右键新窗口打开本文截图,或直接点开图片)
【一】Dubbo sampler下载地址:
该插件支持jmeter 3.2及3.2以上版本。
现在很多互联网公司开发的系统中,越来越多的接口渐渐从http/https调用,改成了dubbo方式,原有的使用soapui测试webservice接口的方法也不再适用,所以,需要现在需要测试dubbo接口。
2015年到2017年,网上大部分同学仍是用jmeter来测Dubbo接口,还是使用的是搭建Maven环境才能测Dubbo,虽然有技术含量,但那太繁琐。于是,阿里巴巴在GitHub上提供了专门用于Jmeter来测dubbo接口的插件。
该插件下载地址具体如下:
综合介绍:https://www.oschina.net/p/jmeter-plugins-dubbo
用户指南:https://github.com/dubbo/jmeter-plugins-dubbo/wiki/用户指南
插件源码:https://github.com/dubbo/jmeter-plugins-dubbo
============================以 下 为 经 验 之 谈============================
【2019年7月12日更新 最新:jmeter-plugins-dubbo-1.4-SNAPSHOT.jar (为了防止fastjson漏洞)】
链接: https://pan.baidu.com/s/1V0Rs_fQ2j0R2wqURgpHwzQ 提取码: taf4
【2019年7月15日更新:
如果你的lib目录下,有jmeter-plugins-dubbo-1.3.8-jar-with-dependencies.jar诸如此类带有-with-dependencies字样的,表示“这jar包里面包含一些基础jar包(基础jar包如下)”,也就是说,如果你再在lib目录下,傻乎乎地被你再放一些基础jar包(如下),就会造成jar包冲突。
所以,如果你使用了“xxx--with-dependencies.jar”这个包,一定要保证你的lib目录下,不能有如下5个基础包文件:
dubbo-2.5.3.jar
javassist-3.15.0-GA.jar
zookeeper-3.4.6.jar
zkclient-0.1.jar
netty-3.7.0-Final.jar
如果有,请移出或删除,否则接口永远调不通!!!切记!!!(如下图) 】
============================以 上 为 经 验 之 谈============================
言归正传,说明一下:
插件包可以去github上下载。插件安装目录:${JMETER_HOME}\lib\ext.
如果使用的是:jmeter-plugins-dubbo-${version}-jar-with-dependencies.jar包含必要的依赖,推荐使用这个包。
如果使用的是:jmeter-plugins-dubbo-${version}.jar需要自行添加插件的依赖包,依赖包版本如下:
dubbo-2.5.3.jar
javassist-3.15.0-GA.jar
zookeeper-3.4.6.jar
zkclient-0.1.jar
jline-0.9.94.jar
netty-3.7.0-Final.jar
slf4j-api-1.7.5.jar
log4j-over-slf4j-1.7.5.jar
将 jmeter-plugins-dubbo-1.0.0-SNAPSHOT-jar-with-dependencies.jar 包放入jmeter 的 lib 文件夹下 的 ext 文件夹中,就能使用该插件了。
咱们以jmeter 5.0为例,把如下图所示的6个支持dubbo测试的基本jar包,放在lib\ext中:
下载地址:https://pan.baidu.com/s/1UyQjfeGYgcdjorBz6-MgPA
除了以上6个基本jar包,还有两个最关键的东西,jmeter的dubbo sampler取样器的插件支持jar包,和你被测的jar包,还有你需要测的接口和抽象方法,都在里面,这个一定要跟开发要。
【二】使用Dubbo Sampler进行dubbo接口测试(举demo讲解):
有了上述几样jar包,关掉打开着的jmeter,再启动jmeter,这个时候jmeter在启动的时候,把这些jar包给读进内存了。
那么,paramValue的值,我们可以根据这段参数类型User和QueryCwzxBankDTO,按着Ctrl键,可以直接链接过去:
同理,
把以上参数值以json的形式写进去:
最后我们运行一下,大功告成: