环境变量的值在 Postman 中重置为 null
Value of an environment variable is reset to null in Postman
我有一个登录请求 returns 一个令牌,该令牌通过在 Postman - 测试选项卡中添加的以下脚本保存到环境变量中:
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token_abc", jsonData.access_token);
另一个请求在授权 header 中使用该令牌作为 Bearer {{token_abc}}
。
但是,似乎令牌仅对 one-time 使用有效:发送请求 #2 后,token_abc
的值在环境变量 - 当前中重置为 null
值。
这可能是什么原因造成的?因为这不是应用程序通常的行为方式 - 令牌应该在 24 小时内有效。是否有我在某处看不到的邮递员设置?我正在使用 Postman 8.6.1.
出于某种我不知道的原因,邮递员沙箱中有 2 个“邮递员”对象,您可以使用它们来设置环境变量。
postman
pm
两者都可以在邮递员的变量作用域上调用一个函数来设置变量。从我在讨论各种邮递员问题的论坛上收集到的信息来看,不鼓励使用 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)
将该变量的值输出到该脚本中不同位置的控制台,以便进一步查明它在代码中重置的确切位置。
我有一个登录请求 returns 一个令牌,该令牌通过在 Postman - 测试选项卡中添加的以下脚本保存到环境变量中:
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("token_abc", jsonData.access_token);
另一个请求在授权 header 中使用该令牌作为 Bearer {{token_abc}}
。
但是,似乎令牌仅对 one-time 使用有效:发送请求 #2 后,token_abc
的值在环境变量 - 当前中重置为 null
值。
这可能是什么原因造成的?因为这不是应用程序通常的行为方式 - 令牌应该在 24 小时内有效。是否有我在某处看不到的邮递员设置?我正在使用 Postman 8.6.1.
出于某种我不知道的原因,邮递员沙箱中有 2 个“邮递员”对象,您可以使用它们来设置环境变量。
postman
pm
两者都可以在邮递员的变量作用域上调用一个函数来设置变量。从我在讨论各种邮递员问题的论坛上收集到的信息来看,不鼓励使用 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)
将该变量的值输出到该脚本中不同位置的控制台,以便进一步查明它在代码中重置的确切位置。