1 Star 0 Fork 54

ppayaoxing / jmeter-plugins-dubbo

forked from ningyu / jmeter-plugins-dubbo 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Dubbo Plugin for Apache JMeter

介绍

Dubbo Plugin for Apache JMeter是用来在Jmeter里更加方便的测试Dubbo接口而开发的插件

项目地址

具体可以查看blog地址:https://ningyu1.github.io/site/post/60-jmeter-plugins-dubbo-support/

项目地址:jmeter-plugins-dubbo

   

版本更新

V1.2.4

问题: 由于sample执行错误会统计到用例的Error%内,但是有时我们的接口返回异常并不代表是真正的错误,有可能是正常的校验,因此本次优化了sample的执行状态。

解决: 当接口返回异常时,sample标识为successful,可以通过响应内容做断言来判断是否需要标识为failure,比如接口有一些校验性质的异常,不代表这个操作是错误的,这样就可以灵活的判断,不至于正常的校验返回导致测试用例Error%的不真实

示例: 1 2 3 4 5 6 7

V1.2.3

  1. bug fix参数类型报错问题

V1.2.2

  1. 升级dubbo版本->2.6.1
  2. 使用ReferenceConfigCache缓存ReferenceConfig对象
  3. 增加远程调用方式:Dubbo:FST

V1.2.1

  1. 支持注册中心增加:multicast、redis、simple
  2. 修改GUI中Protocol值显示方式,增加了描述,例如:dubbo修改为dubbo@直连、zookeeper修改为zookeeper@注册中心 image

V1.2.0

  1. 使用gson进行json序列化、反序列化
  2. 使用dubbo泛化调用方式重构反射调用方式
  3. 支持复杂类型、支持泛型,例如:"java.lang.List,Map<String,ResourceVo> map,List<Map<String, ResourceVo>> list"

本次版本主要对反射参数类型进行了增强,支持复杂类型、支持参数泛型,可以参考如下的参数对照表:

image

V1.1.0

  1. 工具界面输入信息均支持使用jmeter变量${var},函数${__RandomString(5,12345,ids)}进行参数化。
  2. 接口参数类型与值支持使用jmeter变量${var},函数${__RandomString(5,12345,ids)}进行参数化

ps.很遗憾的是升级插件后以前的jmx文件无法打开需要重新创建jmx脚本

下面是测试截图 1 2 3

V1.0.0

  1. 增加了DubboSample,协议支持:zookeeper、dubbo
  2. 增加调用接口与方法以及参数支持
  3. 主要用于Dubbo RPC接口测试

DubboSample使用

支持Jmeter版本

Jmeter版本:3.0

插件安装

插件包可以去github上下载。将插件包放入Jmeter的lib的ext下。

${Path}\apache-jmeter-3.0\lib\ext

如果使用的是:jmeter-plugins-dubbo-1.0.0-SNAPSHOT-jar-with-dependencies.jar包含所有依赖,推荐使用这个包。

如果使用的是:jmeter-plugins-dubbo-1.0.0-SNAPSHOT.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添加DubboSample如下图:

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

根据上图提示传入值即可。

接口以及接口依赖包请添加到classpath下,可以放在apache-jmeter-3.0\lib\ext下,也可以通过下图方式添加:

运行结果

注意事项

  1. 当使用zk,address填入zk地址(集群地址使用","分隔),使用dubbo直连,address填写直连地址和服务端口
  2. timeout:服务方法调用超时时间(毫秒)
  3. version:服务版本,与服务提供者的版本一致
  4. retries:远程服务调用重试次数,不包括第一次调用,不需要重试请设为0
  5. cluster:集群方式,可选:failover/failfast/failsafe/failback/forking
  6. 接口需要填写类型完全名称,含包名
  7. 参数支持任何类型,包装类直接使用java.lang下的包装类,小类型使用:int、float、shot、double、long、byte、boolean、char,自定义类使用类完全名称。
  8. 参数值,基础包装类和基础小类型直接使用值,例如:int为1,boolean为true等,自定义类与List或者Map等使用json格式数据。
  9. 更多dubbo参数查看官方文档:http://dubbo.io/books/dubbo-user-book/references/xml/dubbo-reference.html
MIT License Copyright (c) 2018 凝雨 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Dubbo Plugin for Apache JMeter是用来在Jmeter里更加方便的测试Dubbo接口而开发的插件 展开 收起
Java
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/flowerlan/jmeter-plugins-dubbo.git
git@gitee.com:flowerlan/jmeter-plugins-dubbo.git
flowerlan
jmeter-plugins-dubbo
jmeter-plugins-dubbo
master

搜索帮助