Jmeter之處理session、cookie以及如何做關聯(二)Jmeter如何提取響應頭部的JSESSIONID
阿新 • • 發佈:2018-12-27
就是利用Jmeter做介面測試的時候,如何提取頭部的JSESSIONID然後傳遞到下一個請求,繼續完成當前使用者的請求。
其實,關於這個問題有三種種解決方法:
3)如果響應頭裡面有這個JSESSIONID,我們可以通過新增cookie來解決這個問題,今天這篇部落格,我們重點講解第三種方法。
一、測試前準備
1.測試地址:
登入:http://XXXX:8080/futureloan/mvc/api/member/login
充值:http://XXXX:8080/futureloan/mvc/api/member/recharge
2.引數提取:
登入的引數:mobilephone、pwd
充值的引數:mobilephone、amount
3.測試前場景:
1:登入之後會隨著登入的響應結果產生一個JESSIONID再響應頭。
2:充值請求必須帶著JESSSIONID一起發給伺服器,才會請求成功。
4:選用工具:Jmeter
二、開始測試
1:開啟Jmeter--->新增執行緒組--->新增HTTP請求--->填入登入請求資料,如下所示:
2:開啟Jmeter--->新增執行緒組--->再新增HTTP請求--->填入充值請求資料,如下所示:
3.執行執行緒組,檢查登入的結果以及充值的結果,發現登入成功瞭如下所示:
充值未成功,提示如下:
4.再去檢查Jmeter裡面登入的響應資料的請求頭,如下所示:
三、利用正則表示式提取響應頭部的JSESSIONID
1:給登入的HTTP請求新增一個正則表示式,從頭部提取JSESSIONID,如下所示:
原本登入返回的JSESSIONID的內容如下:
Set-Cookie: JSESSIONID=639A471FBECF4E2A20947A0150A2B887; Path=/futureloan
Set-Cookie: rememberMe=deleteMe; Path=/futureloan; Max-Age=0; Expires=Mon, 02-Jul-2018 02:14:05 GMT
正則表示式我們寫如下格式:
Set-Cookie: JSESSIONID=(.*); Path=/futureloan
這樣就可以匹配到JSESSIONID啦!
2:給充值介面新增cookie管理器:
3:儲存好,再次發起請求,得到如下結果:
4:同時看到充值請求裡面帶上了原本沒有的cookie
四:總結
如果我有多個請求,怎麼辦呢?可以依次給每個請求新增cookie!或者是新增一個總的cookie供所有請求使用。