Jmeter本身不支持websocket協議的,所以需要安裝第三方的插件還有6個依賴包。
我們准備好這些jar包后,講它們拷貝到Jmeter目錄的\lib\ext\目錄下,重新啟動jmeter,就可以看到WebSocket Sampler(如果還是沒有,有可能是JDK的版本太低,我用的是1.8)
操作步驟如下
鼠標右鍵選擇測試計划->添加->Threads(users)->線程組,如下圖

再次,選擇鼠標右鍵選擇上步添加的線程組->添加->Sampler->WebSocket Sampler,如下圖

接下來看看websocket的頁面

解釋一下各項的意思
1、WebServer
(1)Server Name or IP:WebSocket發送的目標服務器的地址或者名稱
(2)Port Number:WebSocker服務器監聽的端口號。(一般是HTTP 80端口,可以通過WireShark數據包得到)
2、Timeout:
(1)Connection – 發送一個連接請求后,Jmeter等待連接完成的最長時間,單位是毫秒。
(2)Response - 對響應消息的最大等待時間。
3、WebSocket Request
(1)Implementation – 只支持RFC6455(v13) ,WebSocket協議標准的最新版。
(2)Protocol – 有ws與wss之分, ws前綴是WebSocket連接的辨別標識,wss前綴是WebSocket安全連接的辨別標識。根據自己的實際情況填寫
(3)Streaming Connection – 選擇這個TCP session要不要保持,如果勾上標識連接會一直存在,如果沒有勾上,那么得到第一次響應后該鏈接就會被關閉。
(4)Request data:填入將要發送的請求,要跟開發溝通好,這個是什么格式的消息。
4.WebSocket Response
(1)Response Pattern – 采樣器將等待含有該標識的消息並繼續通信(或者直到timeout,該連接關閉)
(2)Close Connection Pattern – 如果服務器返回的消息含有這樣的字符,就結束會話。
(3)Message Backlog – 定義服務器返回消息保留的最大長度。
Jmeter測試實戰
使用谷歌瀏覽器抓取WebSocket包(按下F12,選擇NetWork,篩選WS)

測試計划樹如下圖

其中添加了參數化文件(Jmeter有幾種參數化方式,此處以CSV舉例)



