在 Postman 中使用集合变量

JoS*_*Ste 7 postman postman-collection

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

例如:

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

pm.globals.set(variableName:String, variableValue:String) 
pm.globals.get(variableName:String)
Run Code Online (Sandbox Code Playgroud)

分别。

是否可以使用集合来代替?

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

我正在寻找这样的东西:

pm.collection.set(variableName:String, variableValue:String)
pm.collection.get(variableName:String)
Run Code Online (Sandbox Code Playgroud)

我的目标是能够在不交叉污染的情况下运行两个集合。

编辑

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

Dan*_*ton 12

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()
Run Code Online (Sandbox Code Playgroud)

语法示例如下:

pm.collectionVariables.set("collectionVariable", "My Awesome New Collection Level Variable");
Run Code Online (Sandbox Code Playgroud)

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

集合变量