Javascript Postman:在环境变量声明中使用请求名称
我想使用Postman以动态方式设置环境变量,并基于请求名称使用dataObject..attribute2的值。此脚本在Pre-req部分中使用 情况: 我有一个json数据对象:Javascript Postman:在环境变量声明中使用请求名称,javascript,arrays,json,dynamic,postman,Javascript,Arrays,Json,Dynamic,Postman,我想使用Postman以动态方式设置环境变量,并基于请求名称使用dataObject..attribute2的值。此脚本在Pre-req部分中使用 情况: 我有一个json数据对象: var dataObject = { "request01": { "attribute1": 123456789, "attribute2": "asdfghjkl" }, "request02": { "attribute1": 9876
var dataObject = {
"request01": {
"attribute1": 123456789,
"attribute2": "asdfghjkl"
},
"request02": {
"attribute1": 987654321,
"attribute2": "lkjhgfdsa"
}
}
我在同一个文件夹中有两个请求,名称如下:
- 请求01
- 请求02
postman.setEnvironmentVariable("dynamicAttribute2", dataObject.request02.attribute2);
现在,这个问题是如何以动态的方式正确地执行,这取决于每个请求的名称。
我试着这样做:
postman.setEnvironmentVariable("dynamicAttribute2", dataObject.{request.info.name}.attribute2);
问题是邮递员无法解析对属性的对象引用
问题
正确的使用方法是什么?您可以使用方括号动态访问对象的键(检索或设置属性),类似于数组。这应该起作用:
postman.setEnvironmentVariable(
“动态分布2”,
数据对象[request.info.name].attribute2
);
获取请求名称的正确语法是:
pm.info.requestName
因此,您需要使用类似的方法来获得所需的值:
pm.environment.set("dynamicAttribute2", dataObject[`${pm.info.requestName}`].attribute2);
可能值得您仔细阅读,以了解有关pm.*
API函数的更多信息:
不幸的是,如果我使用这个``console.log(“dynamicAttribute2:”+dataObject[request.info.name].attribute2);`````我得到错误:“TypeError:无法读取未定义的属性'name'”