1. 程式人生 > >Jmeter之處理session、cookie以及如何做關聯(二)Jmeter如何提取響應頭部的JSESSIONID

Jmeter之處理session、cookie以及如何做關聯(二)Jmeter如何提取響應頭部的JSESSIONID

就是利用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供所有請求使用。