首页 > 解决方案 > 在 Postman 中使用集合变量

问题描述

learning.getpostman.com网站上的所有示例都展示了如何在globalorenvironment级别保存变量,以便从一个请求到另一个请求中获取值。

例如:

pm.environment.set(variableName:String, variableValue:String)
pm.environment.get(variableName:String)

pm.globals.set(variableName:String, variableValue:String) 
pm.globals.get(variableName:String)

分别。

是否可以使用 Collections 代替?

阅读有关API 的文档pm.并没有给我太多希望。

我正在寻找这样的东西:

pm.collection.set(variableName:String, variableValue:String)
pm.collection.get(variableName:String)

我的目标是能够在没有交叉污染的情况下运行两个系列。

编辑

邮递员进化。如果您阅读文档,也可以在集合中设置变量,而不是在环境中。请注意,如果您在两个地方都设置了具有相同名称的变量,则使用{{variablename}}可能不会产生预期的结果。例如,如果集合变量和环境变量具有完全相同的名称,它们仍然是两个完全不同的变量。

标签: postmanpostman-collection

解决方案


可更新的最新 Postman 版本 (7.9.0) 附带一个新pm.collectionVariables功能,这使用户可以在集合级别更好地控制他们与变量交互的方式。

以前,您只能手动添加这些变量,然后使用该pm.variables.get("var_name")函数在沙盒环境中访问它们。

新的pm.collectionVariablesAPI 方法带有以下功能:

 .get(“var_name”)
 .set(“var_name”, “var_value”)
 .has(“var_name”)
 .unset(“var_name”)
 .clear()
 .toObject()

语法示例如下:

pm.collectionVariables.set("collectionVariable", "My Awesome New Collection Level Variable");

这是从选项卡设置集合级别变量的基本Tests示例:

集合变量


推荐阅读