一、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共享成功!
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://www.cnblogs.com/csmashang/p/13209832.html