我所看到的所有 Postman cookie管理的答案都是指浏览器扩展(打开Chrome,删除cookie viz拦截器等)或使用应用程序,使用UI手动管理cookie。
作为编写API测试脚本的一部分,我想删除预请求代码中的某些Cookie。(以编程方式删除它们)
Sandobx API文档提到了pm.cookies
,因此我尝试
if (pm.cookies !== null) {
console.log("cookies!");
console.log(pm.cookies);
}
字符串
但是pm.cookies
数组是空的,但是在控制台中,GET调用传递了一个cookie。
还有postman.getResponseCookies
,它是空的(我假设是因为我们在预请求部分,而不是在测试部分)
One answer建议调用postman-echo服务删除cookie。我还没有调查过这个问题,但感觉不对。
3条答案
按热度按时间tpgth1q71#
新版本现在支持自2019/08以来,请在此处查看更多示例:Delete cookies programmatically · Issue #3312 · postmanlabs/postman-app-support
前提条件
必须将Cookie域列入白名单,才能授予访问权限。
清除所有cookie
字符串
获取所有cookie
型
获取特定cookie
型
j2cgzkjk2#
根据文档pm API reference,
pm.cookie
API仅用于测试选项卡,而不用于预请求脚本。以下项目仅在测试手册中提供。
pm.cookies
...
看起来你必须坚持这个方法:Interceptor Blog post
3phpmpom3#
我知道这是一个很晚的答案,但对于我的情况,我不想使用cookie来启动收集的执行,我只需要取消选中选项“收集运行后保存cookie”,并选中Runner面板上的选项“不使用存储的cookie运行收集”。
的数据
然后,如果我想自己管理cookie,我在集合上创建了第一个请求,并使用Tests选项卡来收集我想要的cookie,并将它们保存在变量中。
字符串