首页 文章

访问 Postman Native App Pre-Request Script 中的 Cookie

提问于
浏览
0

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

情况:

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

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

我本来希望这样做访问 pm.cookies 对象,我认为它现在已经完全融入了本机应用程序 ref - > 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

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

    if (_.keys(pm.cookies.toObject())[0] === "abc-auth"){
        console.log("Found Cookie")
    } else {
        //Do something
    }
    

    它使用 Postman cookie 功能,但也使用Lodash 键功能(本机应用程序附带)它基本上假设第一个key是你想要的那个 - 这可能是不对的,因为它可能有几个键。

相关问题