我有一个登录请求,它返回一个令牌,该令牌通过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。
2条答案
按热度按时间tuwxkamq1#
出于某种原因,我不知道有2个“ Postman ”对象在 Postman 沙箱,你可以用它来设置环境变量。
postman
pm
两者都可以在postman中调用一个函数来设置变量作用域上的变量。从我在论坛上收集的讨论各种postman问题的信息来看,
postman
对象的使用受到了阻碍,而倾向于pm
。看看这是否有帮助:
因为你的变量在某个地方被重置了,所以你的脚本中一定有代码负责这一点。你提到变量在请求#2之后被重置了,所以第一个地方是在你第二个请求的“测试”标签中。你可以使用
console.log(value)
将该变量的值输出到脚本中的各个地方的控制台,以便进一步确定它在代码中被重置的确切位置。6bc51xsx2#
更改变量的名称。如果变量的名称是bearerToken,则会发生此情况。