1. 程式人生 > 程式設計 >Jmeter跨執行緒組共享cookie過程圖解

Jmeter跨執行緒組共享cookie過程圖解

一、Jmeter版本

此次示例採用的是apache-jmeter-5.2.1版本

二、設定配置檔案使Cookie管理器儲存cookie資訊。

修改apache-jmeter-5.2.1/bin/jmeter.properties檔案,把CookieManager.save.cookies設定為true,並去掉前面的註釋#號,如下圖所示:

Jmeter跨執行緒組共享cookie過程圖解

修改完成後儲存,退出,並重啟jmeter。

三、在除錯取樣器和請求中檢視具體的cookie資訊

線上程組中新增HTTP Cookie 管理器,執行測試計劃後,HTTP Cookie 管理器會自動儲存這些cookie,變數名稱為COOKIE_XXX,XXX對應的是cookie的名稱,可以新增【除錯取樣器】來檢視自動儲存的cookie值,如下圖所示:

下圖中有兩個cookie值分別為:COOKIE_z92_lastvisit何COOKIE_z92_visitor

Jmeter跨執行緒組共享cookie過程圖解

這裡要注意一下,有時候你會發現這裡的cookie不全,所以比較保險的做法下,進入第一個請求中檢視request body中的cookie值。如下圖所示:下圖中有三個cookie值分別為:z92_visitor和z92_lastvisit以及csrf_token三個值。這裡比前者多了一個cookie值。

Jmeter跨執行緒組共享cookie過程圖解

四、設定cookie為全域性變數

在BeanShell後置處理程式中使用__setProperty()函式將COOKIE_XXXX設定為全域性變數。如下圖所示:

Jmeter跨執行緒組共享cookie過程圖解

五、獲取並存儲Cookie

在HTTP Cookie管理器中通過__P()函式獲取全域性變數Cookie,並加入到Cookie管理器中。注意名稱和在請求中的cookie名稱保持一致。如下圖的z92_visitor和z92_lastvisit以及csrf_token三個值。

Jmeter跨執行緒組共享cookie過程圖解

六、呼叫登入介面測試驗證cookie是否可以跨執行緒共享

(1) 同一個執行緒中呼叫登入介面:

Jmeter跨執行緒組共享cookie過程圖解

結果如下:提示state為success,表示登入成功!

Jmeter跨執行緒組共享cookie過程圖解

(2) 不同的執行緒中呼叫登入介面

Jmeter跨執行緒組共享cookie過程圖解

結果如下:提示state為success,表示登入成功!

Jmeter跨執行緒組共享cookie過程圖解

OK大功告成,執行緒1和執行緒2實現cookie共享成功!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。