以往在取响应头中的值时都是用到getResponseHeader方法,比如取set-cookie的值,可以通过postman.getResponseHeader("set-cookie")来取值,其中set-cookie不区分大小写,但是如果存在多个set-cookie时,就无法都取到了。
通过postman官方文档,查到pm.respoonse.headers可以实现,具体如下:
var responseH = pm.response.headers;//返回object类型所有响应header
var jsonData = JSON.stringify(responseH);//转换成json格式
var result = JSON.parse(jsonData);//转换成数组对象
//遍历
方法一
for(var i=0;i<result.length;i++){
if(result[i].key===("Set-Cookie")){
console.log(result[i].value);
}
else{
continue;
}
}
方法二
for(var x of Object.keys(responseH.reference)){
if(x=='set-cookie'){
for(var i = 0 ;i < Object.values(responseH.reference[x]).length;i++ ){
console.log(Object.values(responseH.reference[x])[i].value);
}
}
}
方法三
for(var i in responseH.reference){
if(responseH.reference[i] instanceof Array){
for(var j=0 ;j<responseH.reference[i].length;j++ ){
console.log(responseH.reference[i][j].value);
}
}
}
方法四
for(var i in responseH.members){
if(responseH.members[i].key=='Set-Cookie'){
console.log(responseH.members[i].value)
}
}
通过控制台,发现两个set-cookie均正确提取。
官方文档:https://learning.getpostman.com/docs/postman/scripts/postman-sandbox-api-reference/