2020-06-24 Jmeter Dubbo接口测试

1.dubbo sampler取样器支持jmeter进行dubbo接口测试

1.1>强烈推荐使用with-dependencies字样,原因是该jar包里面包含一些基础jar包,不需要再自行添加基础jar包,否则会造成jar包冲突:jmeter-plugins-dubbo-${version}-jar-with-dependencies.jar

jmeter-plugins-dubbo-2.7.1-jar-with-dependencies.jar

插件源码:https://github.com/dubbo/jmeter-plugins-dubbo

1.2>如果是使用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

2.接口包依赖添加方式

2.1>接口包及接口包依赖的其他jar包请添加到${JMETER_HOME}\lib\ext,重启jmeter


2.2>手动添加,如下图


3.插件使用

3.1>启动Jmeter添加DubboSample如下图:


3.2>添加后能看到DubboSample的具体操作页面,如下图:


4.页面参数介绍

4.1>Registry Settings 注册中心设置

Protocol=none为直连方式

Protocol=zookeeper使用zk注册中心

Protocol=multicast为广播方式

Protocol=redis使用redis注册中心

Protocol=simple使用simple注册中心

4.2>假如使用zk,address填入zk地址(集群地址使用","分隔),使用dubbo直连,address填写直连地址和服务端口


4.3>Consumer&Service Settings 消费者服务设置

timeout:服务方法调用超时时间(毫秒),默认1000

version:服务版本,与服务提供者的版本一致

retries:远程服务调用重试次数,不包括第一次调用,不需要重试设为0

cluster:集群方式,可选:failover/failfast/failsafe/failback/forking,默认

group: 服务分组,当一个接口有多个实现,可以用分组区分,必需和服务提供方一致,默认为空

Connections:连接,默认100

Async:异步, 默认 sync(同步)

Loadbalance:负载均衡,默认 random

4.7>Interface Settings 

interface:被测试接口,需要填写类完整名称,含包名

Method:被测试方法


param Type :参数支持任何类型,包装类直接使用java.lang下的包装类,小类型使用:int、float、shot、double、long、byte、boolean、char,自定义类使用类完全名称

被测接口方法中参数类型,多个参数类型作为数组,换行写,AccountVo前面加完整参数类型路径,如下图是两个参数类型


param Value: 参数值,基础包装类和基础小类型直接使用值,例如:int为1,boolean为true等,自定义类与List或者Map等使用json格式数据:key:value格式


4.8>运行结果


4.9>如果返回数据有乱码,加一个beanshell前置处理器,输入以下代码

prev.setDataEncoding("utf-8");

你可能感兴趣的:(2020-06-24 Jmeter Dubbo接口测试)