Jmeter如何提取響應頭部的JSESSIONID


近期有檸檬班的學生找到華華,問了一個問題,就是利用Jmeter做接口測試的時候,如何提取頭部的JSESSIONID然后傳遞到下一個請求,繼續完成當前用戶的請求。

其實,關於這個問題有三種種解決方法:

1)從響應數據里面提取JSESSIONID,點擊鏈接可以查看https://www.cnblogs.com/liulinghua90/p/5320290.html

2)如果響應數據里面沒有返回JSESSIONID,那么就可以保持cookie,點擊鏈接可以查看:https://www.cnblogs.com/liulinghua90/p/9257552.html

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM