我在响应中有一个具有secure = true的cookie列表,pm.cookies.jar()无法访问
这导致我想要清除域下的所有cookie的问题,而安全cookie上的以下代码不会发生这种情况。
const jar = pm.cookies.jar();
var domain = pm.environment.get("envUrl");
jar.clear(domain, function (error){
if(error)
{
console.log("error",error);
}
});
运行此脚本后,我可以看到未从管理cookie窗口中清除安全cookie。
使用:Windows的Postman-版本7.16.1-win32 10.0.14393 / x64
我认为在此问题得到解决之前,我有一种解决方法。
postman.getResponseCookie("Cookie name");
这仍然可以使用secure = true并使用pm.cookies.jar()和set()访问cookie,我将cookie设置为与Secure cookie同名。
这将从Cookie集删除安全标志。现在,可以使用pm.cookies.jar()在该cookie上使用所有操作(get,unset,clear)。
请注意,set()使用hostOnly = true创建一个cookie,因此仅当请求URL与集合cookie具有相同的主机时,才可以访问集合cookie。
var responseCookie= postman.getResponseCookie("CookieName");
responseCookie= responseCookie.value.toString();
const cookieJar = pm.cookies.jar();
var domain = pm.environment.get("envUrl");
cookieJar.set(domain,"CookieName",responseCookie,function(error,cookie){});
cookieJar.clear(domain, function (error){});