为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

噜噜哒 2021-12-02 16:35:05
我想使用 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 回答

?
慕无忌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


查看完整回答
反对 回复 2021-12-02
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

您可以使用方括号动态访问对象的键(以检索属性或设置它),类似于数组。这应该有效:


postman.setEnvironmentVariable(

  "dynamicAttribute2",

  dataObject[request.info.name].attribute2

);


查看完整回答
反对 回复 2021-12-02
  • 2 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信