1. 程式人生 > 實用技巧 >jmeter跨執行緒組獲取cookie或jmeter執行緒組共享cookie-筆者親測

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資訊

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

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

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

四、設定cookie為全域性變數

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

五、獲取並儲存Cookie

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

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

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

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

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

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

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

七、總結

如果你對此文有任何疑問,如果你也需要介面專案實戰,如果你對軟體測試、介面測試、自動化測試、面試經驗交流感興趣歡迎加入:軟體測試技術群:695458161

,群裡的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。

作者:公眾號:軟測之家
原創不易,歡迎轉載,但未經作者同意請保留此段宣告,並在文章頁面明顯位置給出原文連結。