Pm.cookies.jar не может найти файлы cookie с secure=true
В моем ответе есть список файлов cookie с secure=true, которые недоступны для 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 - Версия 7.16.1 - win32 10.0.14393 / x64
1 ответ
Я думаю, что у меня есть обходной путь для этого случая, пока ошибка не будет решена.
postman.getResponseCookie("Cookie name");
Это все еще может получить доступ к cookie с помощью secure=true и, используя pm.cookies.jar() и set(), я установил cookie с тем же именем, что и Secure cookie.
Это удаляет флаг безопасности из набора файлов cookie. Теперь все операции (get, unset, clear) могут быть использованы с этими файлами cookie с помощью pm.cookies.jar().
Обратите внимание, что set () создает файл cookie с hostOnly=true, поэтому установленные файлы cookie доступны только в том случае, если URL-адрес запроса имеет тот же хост, что и установленный файл 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){});