參考代碼:https://github.com/hutao722/kekexinxin
這是基於Jmeter WebsocketSampler的插件,支持對基於websocket和protobuf的服務器進行測試。
想要應用到具體業務中,還需要進行代碼改造,可參考demo代碼。
工程結構
兩個子工程組成:
1. jmeter-websocketprotobuf-front工程。基於maciejzaleski/JMeter-WebSocketSampler(https://github.com/maciejzaleski/JMeter-WebSocketSampler). 本人做了改動,以支持protobuf數據。
2. jmeter-websocketprotobuf-custom工程。這是需要根據自身業務進行改造的工程,該工程已經有Demo,可仿造進行改動。總體來說是把請求的json數據轉換成pb數據去調用服務器接口,再用返回的pb結果轉換成json數據顯示。
用法
1. 下載並用maven編譯和打包,命令為:mvn clean package -DskipTests -P dev
我們可以得到JMeter-WebsocketProtobuf-front-1.0.jar 和 JMeter-WebsocketProtobuf-custom-1.0.jar兩個jar包
2. 將下列jar包放入jmeter的\lib\ext 包下:
JMeter-WebsocketProtobuf-front-1.0.jar
JMeter-WebsocketProtobuf-custom-1.0.jar
jetty-util-9.3.11.v20160721.jar
jetty-io-9.3.11.v20160721.jar
websocket-common-9.3.11.v20160721.jar
websocket-client-9.3.11.v20160721.jar
websocket-api-9.3.11.v20160721.jar
protobuf-java-2.6.1.jar
protobuf-java-format-1.2.jar
fastjson-1.2.8.jar
3. 重啟jmeter后,即可以試試,截圖如下:
修改相應的參數,點擊運行后,即可在結果觀察樹中查看結果。
該插件支持ws和wss協議。