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){});
Другие вопросы по тегам