邮递员:在环境变量的声明中使用请求名称

我想使用 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 无法解析对属性的对象引用。



使用它的正确方法是什么?


噜噜哒
浏览 136回答 2
2回答

慕无忌1623718

获取的正确语法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

收到一只叮咚

您可以使用方括号动态访问对象的键(以检索属性或设置它),类似于数组。这应该有效:postman.setEnvironmentVariable(  "dynamicAttribute2",  dataObject[request.info.name].attribute2);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript