目前,它可以设置,并从变量global和environment范围,以及通用variable在预先请求脚本.但是,如果可以编程设置collection范围变量,则文档不清楚.
例如
pm.environment.set("timestamp", timestamp); //acceptable
pm.global.set("signature", hash); //acceptable
pm.variable.set("signature", hash); //acceptable
pm.collection.set("signature", hash); //not possible?
Run Code Online (Sandbox Code Playgroud)
这可能吗?
Learning.getpostman.com网站上的所有示例都展示了如何在global或environment级别保存变量,以便从一个请求到另一个请求获取值。
例如:
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}}可能不会产生预期的结果。例如,如果集合变量和环境变量具有完全相同的名称,它们仍然是两个完全不同的变量。
我的集合范围中有变量“TOKEN” 。我尝试在发出请求时使用测试脚本设置值。但变量没有改变。
因此,我尝试使用环境范围变量。它有效。
为什么它在集合范围内不起作用?我在这里阅读了关于邮递员变量作用域的内容并且很好地理解了它。
这是一些屏幕截图:
1. 首先,我调用登录端点。
下面是控制台结果。没有什么不对。
直到我尝试获取请求标头中需要令牌的所有用户端点。状态为 401,因为令牌为空。如果 token 不为 null,则返回 200:
当我将“TOKEN”变量添加到环境中时,它可以正常工作。再次切换到无环境将导致 401 状态代码: