特征
Postman添加了对变量,授权,预请求和测试脚本的支持.(从版本5.4.1开始,它存在于集合AND文件夹级别)
用例
假设我想在登录端点被命中时存储刷新令牌.我的测试脚本需要创建/更新COLLECTION变量,而不是全局变量或环境变量.
一旦该refresh_token可用于集合,其他测试和预请求脚本,我认为有一种方法可以通过类似于pm.environment或pm.globals的API访问它们.(例如,pm.collection)
题
我找不到任何关于如何通过预请求脚本或测试来访问或修改它们的文档......有谁知道如何做到这一点?也许这没有被完全考虑过,或者没有完全实现,但我想我会与其他人一起寻求帮助.
临时解决方案
作为一个完整的黑客,我将我需要的东西存储为命名空间环境变量.它并不理想(在其他系列中工作时会使事情变得混乱),但它的工作正常.
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}}可能不会产生预期的结果。例如,如果集合变量和环境变量具有完全相同的名称,它们仍然是两个完全不同的变量。