访问Postman本地应用程序预请求脚本中的Cookie

时间:2018-05-02 10:43:34

标签: postman

如果有人问过道歉。尝试快速搜索,找不到。

情况:

api使用身份验证令牌作为cookie名称“abc-auth”,当我点击/ login端点时返回。它在响应中作为set-cookie标头返回,本地应用程序的邮递员乐意接受并在ui中设置为域cookie

我希望基本上作为预先请求步骤,如果cookie不存在则命中登录端点但如果我们已经过身份验证则不会命中它。所以我们只为20个请求登录一次而不是20次

我本来希望这样做可以访问pm.cookies对象,我认为该对象现已完全融入本机应用程序参考 - > https://www.getpostman.com/docs/v6/postman/scripts/postman_sandbox_api_reference 所以希望做这样的事情

console.log(pm.cookies.toObject())

if (pm.cookies.has("abc-auth")){
    console.log("Found Cookie");
} else {
//send the request
}

预期:
它第一次运行登录,然后下次找到cookie并继续

实际:
它永远不会找到cookie。打印出cookie列表会找到一个空数组。我似乎无法检查脚本中的cookie。

任何人都知道我做错了什么? 很多文档都提到了拦截器,但是当Chrome应用程序正在退役时,原生应用程序意味着假设我真的希望能够将答案包含在本机应用程序中的功能

谢谢!

1 个答案:

答案 0 :(得分:0)

这样的事情可以帮你做检查:

nrow(values) - 1

它使用Postman cookies功能,还有Lodash keys function(本机应用程序附带)它基本上假设第一个if (_.keys(pm.cookies.toObject())[0] === "abc-auth"){ console.log("Found Cookie") } else { //Do something } 是你想要的那个 - 这可能不对,因为它可能有几把钥匙。