use*_*874 4 cookies postman newman
当我在 Newman 和 Postman Runner(主要是 Newman)中运行我的请求集合时,我需要能够在请求之间自动删除 cookie。
我遵循了 Postman 的一个人在这个评论中给出的建议:https ://github.com/postmanlabs/postman-app-support/issues/3312#issuecomment-516965288 。
但它不起作用。
这两个 SO 问题的答案也告诉了执行此操作的相同方法:Postman:如何删除预请求脚本中的 cookie? 以编程方式删除邮递员中的cookie
这是我使用的代码,上面的来源建议将其放置在预请求脚本中:
const jar = pm.cookies.jar();
jar.clear(pm.request.url, function (error) {
console.log("Error: ");
console.log(error);
//handle error
});
Run Code Online (Sandbox Code Playgroud)
[注意:当我运行此代码时,错误被记录为 null]
我已经多次尝试过这段代码,并且对该代码进行了多次不同的修改。我也将域列入白名单。但我总是在请求中得到错误的响应。当我手动清除 cookie(使用 cookie 管理器 UI 对话框)时,请求会给出正确的响应。我需要帮助来确定以编程方式删除 cookie 时可能出现的问题。
我也尝试过查看我要删除的 cookie 是什么:
jar.getAll(pm.request.url, function (error, cookies) {
console.log("Cookies:");
console.log(cookies);
console.log("Error: ");
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)
这里 cookies 是一个空数组。也许这就是问题所在。但这很奇怪,因为当我手动检查 Cookie 管理器时,显示了很多 Cookie。一旦我手动删除 cookie,请求就会返回正确的响应。
我的另一个问题是:上面代码中以“cookies”和“error”作为参数的回调函数的目的是什么。这些函数是每次都会调用还是仅在某些条件下调用?在邮递员文档中找不到回调函数的用途:https://learning.postman.com/docs/postman/sending-api-requests/cookies/
谢谢
如果 cookie 具有“ httpOnly”或“ secure”标头,则无法通过邮递员中的脚本删除它们。清除除这些和那些jar.clear之外的所有 cookie 。httpOnlysecure
我认为这是一个错误,需要由 Postman 修复。如果这是有意的,Postman 中应该有一个设置来激活或禁用它。
| 归档时间: |
|
| 查看次数: |
2025 次 |
| 最近记录: |