如何在postman collection runner中设置环境变量?

问题描述:

我有一个名为的API getcampaignlist。它会根据相关人员将所有活动列表返回给我。就像在图片中,我有多个具有ID和说明的广告系列。我想设置环境变量使用如何在postman collection runner中设置环境变量?

postman.setEnvironmentVariable("cmid", jsonData.id);” 或

postman.setEnvironmentVariable("cmid", jsonData.id) 其中 jsonData.campaignName==="online Games ";”

For clarification check image

我的意思是我想通过收集亚军使用所有这些ID的环路。我怎样才能在环境变量中设置值。因为当我设置jsonData.id时,它不能决定应该在环境变量“cmid”中设置哪个id值并返回false。

+0

你所说的 “返回false” 是什么意思?你有'var jsonData = pm.response.json()'在你有'postman.setEnvironmentVariable(“cmid”,jsonData.id)'代码的测试标签中吗?此外,这不会得到任何东西,因为它是一个数组,所以'jsonData [0] .id'会得到列表中的第一个'id'。 –

对于收集亚军,你通常会use data files(CSV或JSON),以及访问的变量与data,例如data.id

可以将此代码添加到Tests选项卡以迭代响应数据(类似于您的示例)并将与Online Games匹配的ID分配为环境变量。这可以通过在URL中使用{{cmid}}在另一个请求中引用。

const result = pm.response.json() 

for (var i = 0; i < result.length; ++i) 
    if (result[i].campaignName === "Online Games") { 
     pm.environment.set('cmid', result[i].id) 
    } 

示例使用邮差:

API Response