在接口测试过程中,有时在登录接口或其他一些接口会有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