微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Postman 中环境变量的值被重置为 null

如何解决Postman 中环境变量的值被重置为 null

我有一个登录请求,该请求返回一个令牌,该令牌通过在 Postman - 测试选项卡中添加的以下脚本保存到环境变量中:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentvariable("token_abc",jsonData.access_token);

一个请求在 Authorization 标头中使用该令牌作为 Bearer {{token_abc}}

但是,令牌似乎只对一次性使用有效:发送请求 #2 后,环境变量 - 当前值中的 token_abc 的值重置为 null。>

可能是什么原因造成的?因为这不是应用程序通常的行为方式 - 令牌应在 24 小时内有效。是否有我在某处看不到的 Postman 设置?我使用的是 Postman 8.6.1。

解决方法

出于某种我不知道的原因,邮递员沙箱中有 2 个“邮递员”对象可用于设置环境变量。

  • postman
  • pm

两者都可以调用一个函数来在 postman 中的变量作用域上设置变量。从我在论坛上收集到的讨论各种邮递员问题的信息来看,postman 对象的使用受到阻碍,而支持 pm

看看这是否有帮助:

//check if you get the value you expected first
console.log(jsonData.access_token)
pm.environment.set('token_abc',jsonData.access_token)

由于您的变量在某处被重置,因此您的脚本中必须有代码对此负责。您提到变量在请求 #2 后被重置,因此首先要查看的位置是第二个请求的“测试”选项卡。您可以使用 console.log(value) 将该变量的值输出到该脚本中各个位置的控制台,以便进一步查明代码中重置它的确切位置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。