在接口測試過程中,有時在登錄接口或其他一些接口會有csrf_token請求參數的校驗,但是獲取可能不是那么簡單,
本人在postman和jmeter中嘗試找到了響應的方法,特在此進行分享,請見者多多交流指教!
一、Jmerter中獲取csrf_token和session
1、Jmeter中如果要獲取response headers的session,也可以通過正則提取器。
2、在Jmeter中比較簡單,通過添加一個正則表達式提取器,然后用正則表達式進行匹配獲取,后續接口就通過變量引用來調用。設置如下圖:
二、Postman中獲取csrf_token和session
在Tests面板中編寫腳本即可。
jemter中獲取session,如下:
//1、postman獲取RequestHeader的cookie var cookie = pm.request.headers.get("cookie");//從請求頭中獲取數據 pm.environment.set("cookie",cookie);//設置為環境變量 //2、postman獲取ResponseHeader的cookie,並設置為環境變量 //var cookie = postman.getResponseHeader("cookie"); //pm.environment.set("cookie",value);
//需要分割取部分值時用以下方式用spilt方法將其分割成數組
//data = jsondata.split(";");
//console.log(data[0])
補充:
在純python的代碼框架中測試,可以通過以下方式獲取:(此方法比較笨,但我暫時只知道這方法,需要但沒別的辦法將就用,哈哈)
base_url="http://192.168.31.13:8080" #訪問的url def getclassify(): r=requests.get(base_url+'/login') #進行get請求 str = r.text #獲取返回值的文本內容 csrf_token= str[281:317] #文本內容通過string的下標方式進行獲取 return csrf_token #返回內容
參考鏈接:
1、https://blog.csdn.net/lion19930924/article/details/51189210
2、https://blog.csdn.net/weixin_42541360/article/details/89393100
3、https://blog.csdn.net/hhy_123963/article/details/88567948