Jmeter&WebSocket直播間性能測試(1)

1.Jmeter本身是支持HTTP方法,要測試WebSocket的接口,首先要安裝插件。 安裝插件的方法:
1)首先下載插件管理器
① 訪問網站:https://jmeter-plugins.org/install/Install/
②下載jmeter-plugins-manager-1.3 .jar包
③ 將下載的包放到 jmeter的lib/ext目錄,重啓jmeter**

在這裏插入圖片描述
在這裏插入圖片描述

2) 下載完後在Jmeter的項目下可查看插件管理工具,點擊進入可下載支持websocket的插件

在這裏插入圖片描述

2.調試websocket請求是否正常,添加一個線程組,添加取樣器,添加websocket請求
1)查看用的請求方法是ws還是wss
2)端口號要正確
3)填寫服務器地址和路徑
4)添加查看結果樹,觀察運行結果是否成功

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

3.完成以上前置條件之後就可以開始進入正題了,先分析業務場景&測試需求,開始進行編寫測試用例,這裏我們模擬的場景是:直播間同時登錄60用戶數即60個用戶同時在線(數字設置比較小是爲了方便做實驗,後期需要可以新增一定的用戶數量,比如200,500,1000等)和部分用戶在直播間發送消息進行聊天的場景,觀察直播間的畫面&視頻是否卡頓,服務器的性能變化。
1)數據準備:60個用戶賬號&密碼

在這裏插入圖片描述

2)添加CSV數據文件,將賬號密碼進行參數化

在這裏插入圖片描述在這裏插入圖片描述

3)寫好登錄接口,請求的data中的賬號密碼使用CSV文件中的變量名(獲取txt文件中實際的賬號密碼)

在這裏插入圖片描述

4)接下來就是進入直播間,即每個用戶登錄後需要綁定房間才能成功進入直播間(這裏具體看實際的業務場景,需要對直播間的業務進行分析,比如從登錄進入直播間需要用到的哪些接口&接口之間的數據關聯性等)。
①由於綁定到直播間需要用到一個id,這個id是websocket接口返回的,而且每次返回的都不一樣,所以這裏我們要把這個id進行參數化,然後給綁定房間的接口使用。

在這裏插入圖片描述

添加後置處理器,JSON提取器把clientId提取出來備用

在這裏插入圖片描述

②綁定房間接口和以及接下來會用到的發送消息接口需要用到登錄狀態,這裏我們也把登錄接口返回的auth進行參數化。(同理把auth也進行參數化處理)

在這裏插入圖片描述

③ 添加配置元件-HTTP信息頭管理器(將auth變量寫進去,之後需要用到登錄的接口都會直接從這裏取,不需要再單獨寫)

在這裏插入圖片描述

④ 綁定房間接口,clientId使用動態提取的數據,傳參裏面的數據根據具體業務邏輯即可

在這裏插入圖片描述

⑤ 運行一下,在添加的察看結果樹中查看請求返回的參數是否正確(以下示例成功)

在這裏插入圖片描述

5)新增發送消息接口,查看運行結果是否成功

在這裏插入圖片描述
在這裏插入圖片描述

遇到的問題總結:
問題描述:接口請求頻繁報錯
分析原因:接口限制,每分鐘請求不能超過60次(這是不同業務系統的特性,主要看有沒有做限制)
解決方法:在接口請求下加一個定時器,延遲1000ms請求1次,這樣1分鐘就不會超過60次了

在這裏插入圖片描述

問題描述:websocket返回的clientId中帶有加號,通過綁定房間接口取到的數據加號就顯示爲空,實際上就是id錯了,接口沒報錯,但用戶並未顯示爲在線狀態(具體情況是登錄成功60個用戶,只有30個顯示爲在線狀態,有時是25個)
分析原因:返回的clientId部分不帶加號,部分帶了加號,所以導致每次請求的時候上線的數量都是不一致的
解決方法:將websocket中取到的數據即綁定房間的接口請求進行數據格式化

在這裏插入圖片描述

完成以上步驟之後(業務場景分析和調試),接下來我們就要來制定測試策略和監控分析性能了(請看下回分解!!!)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章