我的应用程序返回两个Set-Cookie头: JSESSIONID和AWSELB。
当我用Postman编写测试并使用postman.getResponseHeader("Set-Cookie")时,它只返回AWSELB。
你知道我怎么能得到JSESSIONID吗?
编辑:接受答案解决了它的一种方式,现在我有相同的问题,但通过发送两个头部与相同的键。我应该能够发送多个“设置-曲奇”标题,但当我这样做时,似乎只有最后一个被发送,第一个被覆盖。
发布于 2017-06-14 17:04:07
getResponseHeader似乎只包含最后一个标头,因此在处理cookie时并不真正有用。
我建议你试试
getResponseCookie
例如:
tests["Should contain JSESSIONID cookie"] = postman.getResponseCookie('JSESSIONID').value === 'abcdef';希望这能有所帮助!
发布于 2021-05-01 20:11:32
实际上,postman包含postman.response.headers下的所有标题,它的类型是HeaderList。但是它用Array类型存储头。标头有键和值。
因此,您可以循环使用postman.response.headers,并使用值或键筛选出所需的内容。
//按头键过滤
pm.response.headers
.filter(header=>header.key.includes("whatever you are looking for"))
.map(f=>console.log( f.value))//按标头值筛选
pm.response.headers
.filter(header=>header.value.includes("whatever you are looking for"))
.map(f=>console.log( f.value))发布于 2022-02-19 02:50:33
我使用下面的方法从响应头获取cookie,
const Cookie = require('postman-collection').Cookie;
const oResponseHeaders = pm.response.headers;
oResponseHeaders.filter(function(resHeader){
//console.log("resHeader : ",resHeader);
let bSetCookieExists = resHeader.key.includes("Set-Cookie");
if(bSetCookieExists){
console.log('cookie : ',resHeader.key.includes("Set-Cookie"));
let rawHeader = pm.response.headers.get("Set-Cookie");
let myCookie = new Cookie(rawHeader);
console.log("myCookie : ",myCookie.toJSON());
console.log("myCookie name : ", myCookie.name);
console.log("myCookie value : ", myCookie.value);
}
})https://stackoverflow.com/questions/44548306
复制相似问题