Очистка Cookies программно не работает в Postman и Newman - PullRequest
1 голос
/ 13 марта 2020

Мне нужно иметь возможность автоматически удалять файлы cookie между запросами, когда они запускают мою коллекцию запросов в Newman и Postman Runner (главным образом Newman).

Я последовал предложению, данному в этом комментарии человеком от почтальона: https://github.com/postmanlabs/postman-app-support/issues/3312#issuecomment -516965288 .

Но это не работает.

Ответ на эти два вопроса SO также говорит go о том, как это сделать: Почтальон: Как удалить куки в сценарий предварительного запроса? Программное удаление файлов cookie в почтальоне

Вот код, который я использую, и приведенные выше источники предлагают разместить в сценарии предварительного запроса:

const jar = pm.cookies.jar();
jar.clear(pm.request.url, function (error) {
  console.log("Error: ");
  console.log(error);
//handle error
});

[Примечание: ошибка регистрируется как нулевая, когда я запускаю этот код]

Я пробовал этот код много раз, а также много различных модификаций этого кода. Я делаю белый список домена тоже. Но я всегда получаю неправильный ответ на запрос. Когда я очищаю куки вручную (используя диалоговое окно cook ie Manager UI), запрос дает правильный ответ. Мне нужна помощь в определении того, где может быть проблема для меня при удалении файлов cookie программным способом.

Я также попытался это сделать, чтобы увидеть, какие файлы cookie я удаляю:

jar.getAll(pm.request.url, function (error, cookies) {
    console.log("Cookies:");
    console.log(cookies);
    console.log("Error: ");
    console.log(error);
});

Здесь файлы cookie пустой массив. Возможно, это проблема. Но это очень странно, так как, когда я проверяю Cook ie Manager вручную, появляется много файлов cookie. И как только я вручную удаляю файлы cookie, запросы возвращают правильные ответы.

Еще один вопрос, который у меня возник, был: Какова цель функций обратного вызова, которые принимают «cookie» и «error» в качестве аргументов в приведенном выше коде. Эти функции вызываются каждый раз или только при определенных условиях? Не удалось найти назначение функций обратного вызова в документации почтальона: https://learning.postman.com/docs/postman/sending-api-requests/cookies/

Спасибо

...