如何在集合范围内更改Postman当前变量值?

时间:2019-05-05 09:52:18

标签: postman

我的收集范围中有变量“ TOKEN” 。我在发出请求时尝试使用Tests脚本设置值。但是变量没有改变。

因此,我尝试使用环境范围变量。而且有效。

为什么在收藏范围中不起作用?我已经阅读了有关邮递员变量范围here的信息,并很好理解。

以下是一些屏幕截图:

1。首先,我称为登录端点。

Call Login

以下是控制台结果。没有什么不对。

Console Result

直到我尝试让所有用户在请求标头中需要令牌的端点。状态为401,因为令牌为空。如果令牌不为null,则它将返回200:

Get Users Endpoint

当我向环境添加“ TOKEN”变量时,它可以正常工作。再次切换到无环境将得到401状态代码:

Result

4 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

@Danny Dainton是正确的,集合变量无法通过脚本进行编辑。

来源:https://learning.getpostman.com/docs/postman/environments_and_globals/variables/#variable-scopes

  

在脚本中定义环境或全局变量:*要设置   脚本中的变量,请使用pm.environment.set()方法或   pm.globals.set()方法取决于所需的范围。方法   需要变量键和值作为参数来设置变量。   当您发送请求时,脚本将被评估并且值   将存储为变量。请注意,定义集合变量   有点不同,可以通过编辑集合来完成   详细信息。

集合变量

https://learning.getpostman.com/docs/postman/environments_and_globals/variables/#defining-collection-variables

  

可以通过编辑集合详细信息来定义集合变量。   单击集合名称旁边的省略号(...),然后选择“编辑”以   打开“编辑收集”模式。选择变量标签以添加和   编辑集合变量。您还可以定义集合变量   创建集合时。

因此,您只能手动更改收集变量

答案 2 :(得分:0)

从邮递员设置中关闭Automatic persist variable values

image

答案 3 :(得分:0)

这是自发布此问题以来的新内容,但是对于其他发现此问题的人,可以使用以下方法设置集合变量: pm.collectionVariables.set(键,值) 参见:https://learning.postman.com/docs/postman/variables-and-environments/variables/#defining-variables-in-scripts