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

hm2xizp9  于 2023-04-11  发布在  Postman
关注(0)|答案(2)|浏览(275)

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

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

另一个请求在Authorization头中使用该令牌作为Bearer {{token_abc}}
但是,令牌似乎只对一次性使用有效:在发送请求#2之后,在Environment variables - Current value中将token_abc的值重置为null
是什么原因导致了这个问题?因为这不是应用程序通常的行为方式-令牌应该在24小时内有效。是否有我没有看到的Postman设置?我使用的是Postman 8.6.1。

tuwxkamq

tuwxkamq1#

出于某种原因,我不知道有2个“ Postman ”对象在 Postman 沙箱,你可以用它来设置环境变量。

  • postman
  • pm

两者都可以在postman中调用一个函数来设置变量作用域上的变量。从我在论坛上收集的讨论各种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)将该变量的值输出到脚本中的各个地方的控制台,以便进一步确定它在代码中被重置的确切位置。

6bc51xsx

6bc51xsx2#

更改变量的名称。如果变量的名称是bearerToken,则会发生此情况。

相关问题