我想使用 Postman 以动态方式设置环境变量,并根据请求名称使用 dataObject..attribute2 的值。此脚本在 Pre-req 部分中使用。情况:我有一个json数据对象:var dataObject = { "request01": { "attribute1": 123456789, "attribute2": "asdfghjkl" }, "request02": { "attribute1": 987654321, "attribute2": "lkjhgfdsa" }}我在同一个文件夹中有这 2 个请求,名称如下:请求01请求02现在,我想定义此分配的值,因此我将 attribute2 值分配给变量 dynamicAttribute2。如果我以静态方式执行此操作,则如下所示:postman.setEnvironmentVariable("dynamicAttribute2", dataObject.request02.attribute2);现在这个问题如何以动态方式正确执行,具体取决于请求名称,每个。我试图这样做:postman.setEnvironmentVariable("dynamicAttribute2", dataObject.{request.info.name}.attribute2);问题是 Postman 无法解析对属性的对象引用。题使用它的正确方法是什么?
2 回答
![?](http://img1.sycdn.imooc.com/5458620000018a2602200220-100-100.jpg)
慕无忌1623718
TA贡献1744条经验 获得超4个赞
获取的正确语法Request Name
是:
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
![?](http://img1.sycdn.imooc.com/54586425000103f602200220-100-100.jpg)
收到一只叮咚
TA贡献1821条经验 获得超4个赞
您可以使用方括号动态访问对象的键(以检索属性或设置它),类似于数组。这应该有效:
postman.setEnvironmentVariable(
"dynamicAttribute2",
dataObject[request.info.name].attribute2
);
添加回答
举报
0/150
提交
取消