【问题标题】:How to set environment variable in postman collection runner?如何在邮递员收集运行器中设置环境变量?
【发布时间】:2018-01-19 17:52:29
【问题描述】:

我有一个名为 getcampaignlist 的 API。它根据相关人员向我返回所有带有描述的活动列表。就像在图片中一样,我有多个带有 ID 和描述的广告系列。我想使用设置环境变量

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

"postman.setEnvironmentVariable("cmid", jsonData.id) 在哪里 jsonData.campaignName==="online Games "; "

我的意思是我想通过集合运行器循环使用所有这些 id。如何在环境变量中设置值。因为当我设置 jsonData.id 时,它无法决定应该在环境变量“cmid”中设置哪个 id 值并返回 false。

【问题讨论】:

  • “return false”是什么意思?你有var jsonData = pm.response.json() 在你有postman.setEnvironmentVariable("cmid", jsonData.id) 代码的测试选项卡中吗?此外,这不会得到任何东西,因为它是一个数组,所以 jsonData[0].id 将获得列表中的第一个 id

标签: collections automated-tests postman web-api-testing postman-collection-runner


【解决方案1】:

对于collection runner,您通常会使用use data files(csv 或json),并使用data 访问变量,例如data.id

【讨论】:

    【解决方案2】:

    可以将此代码添加到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)
         }
    

    使用 Postman 的示例:

    【讨论】:

      猜你喜欢
      • 2019-01-09
      • 2020-04-11
      • 2018-12-04
      • 2019-11-14
      • 2021-01-05
      • 2018-11-26
      • 2017-05-11
      • 2020-11-18
      • 2021-10-24
      相关资源
      最近更新 更多