我想使用 Postman 以动态方式设置环境变量,并根据请求名称使用 dataObject..attribute2 的值。此脚本在先决条件部分中使用。
情况: 我有一个 json 数据对象:
var dataObject = {
"request01": {
"attribute1": 123456789,
"attribute2": "asdfghjkl"
},
"request02": {
"attribute1": 987654321,
"attribute2": "lkjhgfdsa"
}
}
我在同一个文件夹中有这两个请求,名称为:
- 请求01
- 请求02
现在,我想定义这个分配的值,所以我将 attribute2 值赋给变量 dynamicAttribute2。 如果我以静态方式执行此操作,则如下所示:
postman.setEnvironmentVariable("dynamicAttribute2", dataObject.request02.attribute2);
现在这个问题如何以动态的方式正确地做到这一点,具体取决于每个请求名称。 我试着这样做:
postman.setEnvironmentVariable("dynamicAttribute2", dataObject.{request.info.name}.attribute2);
问题是 Postman 无法解析对属性的对象引用。
问题
正确的使用方法是什么?
最佳答案
获取请求名称
的正确语法是:
pm.info.requestName
所以你需要使用这样的东西来获得你想要的值:
pm.environment.set("dynamicAttribute2", dataObject[`${pm.info.requestName}`].attribute2);
可能值得您仔细阅读以了解有关 pm.*
API 函数的更多信息:
https://learning.getpostman.com/docs/postman/scripts/postman_sandbox_api_reference/#pm
关于javascript - postman :在环境变量的声明中使用请求名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58544236/