JMeter Dubbo請求插件jmeter-plugin-dubbo.jar
by:授客 QQ:1033553122
測試環境
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的lib\ext目錄下
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包的情況下
支持單元格內跨行編輯
注意:編輯狀態下,如果通過回車操作,讓鼠標光標移動到單元格下邊界,即當前編輯行不在單元格可見區域內時,則無法看到編輯操作,需要先退出單元格編輯區域,再重新雙擊進入可見。因此,如果目標內容需要占用較多行,可先不斷回車新增大致數量行,“撐開”單元格,退出編輯后再次重新進入編輯