Jmeter測試webocket協議

2022-05-06 10:03:09 字數 2809 閱讀 9041

jmeter本身不支援websocket協議的,所以需要安裝第三方的外掛程式還有6個依賴包。

首先,我們需要準備jmeter的websocket協議的支援外掛程式:

jmeterwebsocketsampler-1.0.2-snapshot.jar

這外掛程式依賴一下幾個jar包

注意外掛程式版本與jmeter版本的匹配!

我們準備好這些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舉例)

在configure the csv data source組中:

1、filename:上步中要求建立的.bat檔案的全路徑;

2、file encoding:檔案的編碼格式,根據實際情況來;

3、variable names(comma-delimited):欄位名,多個以逗號分隔

4、delimiter(use'\t' for tab):定義分隔符,例如逗號的話,直接填寫 逗號的符號即可

5、allow quoted data?:選項選為「true」的時候對全形字符的處理出現亂碼

6、recycle on eof:是否迴圈讀入,csv data set config一次讀入一行,分割後存入若干變數中交給乙個執行緒,如果執行緒數超過文字的記錄行數,那麼可以選擇從頭再次讀入

7、stop thread on eof ?:當recycle on eof為false時,當讀取檔案到結尾時,停止程序,當recycle on eof為true時,此項無意義

根據實際情況進行設定。將所有的設定完成後,儲存。

值得注意的是,如果不確實配置是否正確,可以暫緩引數化,直接在websocket頁面填入request data,執行,檢視結果,如果成功返回,在開始引數化。

執行jmeter測試計畫,在結果樹中可以檢視傳送和伺服器返回的結果,如下圖:

效能測試 Jmeter

如何更快速的入門jmeter 建議通過錄製指令碼的方式,快速的了解乙個效能測試應該包括的元件以及它們的層級關係。關於錄製方式,請參考 jmeter基礎之 錄製指令碼 如下,通過badboy 工具錄製的乙個指令碼 指令碼過程 登入 126郵箱,給自己發一封郵件,祝自己聖誕快樂!並可以方便的將指令碼匯出...

Jmeter介面測試

jmeter介面測試 簡單http介面測試及結果分析 介面測試主要分為兩類 層介面測試和web http介面測試,層介面測試更接近單元測試一些,而web介面主要表現為兩類 1 瀏覽器和伺服器之間的介面 2 外部介面 第三方提供的介面 1 開啟jmeter 2 新增相關元件 2.1 新建執行緒組 2....

jmeter效能測試

請參考 jmeter效能測試文章集合 jmeter 菜鳥入門到高階 系列 開源效能測試工具jmeter jmeter badboy環境搭建 badboy使用手冊 壓力測試之badboy和jmeter的簡單使用方法 jmeter 菜鳥入門到高階 系列 jmeter是我從事軟體測試工作以來接觸的第乙個效...