【问题标题】:how to keep all created IDs in Postman Environment如何在 Postman 环境中保留所有创建的 ID
【发布时间】:2017-08-17 17:40:42
【问题描述】:

我正在尝试使用 postman 自动执行 API 请求。因此,首先在 POST 请求中,我编写了一个测试以将所有创建的 ID 存储在 Environment 中:这是正确的。

var jsondata = JSON.parse(responseBody);  
tests["Status code is 201"] = responseCode.code === 201;  
postman.setEnvironmentVariable("BrandID", jsondata.brand_id); 

然后在删除请求中,我在我的 url 中调用我的环境,例如 /{{BrandID}},但它只删除最后一条记录。所以我的猜测是环境只保留最后一个 ID?我必须怎么做才能保留所有 ID?

【问题讨论】:

  • 您好,请问您是如何进行的?您是否多次调用 POST 请求,然后调用 DELETE 请求?在这种情况下,您通常只删除您设置的最新 id,每次调用 POST 请求时,都会覆盖您的环境变量。
  • 是的,我就是这样做的,我多次调用 POST 请求,我认为所有 ID 都必须存储在环境中,因此在删除后它必须删除所有存储的 ID。那么您知道如何使用邮递员进行批量删除吗?或者如何存储多个ID?

标签: json api automation postman environment


【解决方案1】:

每次调用 POST 请求时,都会覆盖环境变量 所以只能删除最后一个。 为了处理多个 id,您应该通过在每次调用时添加新 id 来构建一个数组 您可以在您的 POST 请求中进行如下操作

my_array = postman.getEnvironmentVariable("BrandID");

if (my_array === undefined)    // first time
{
    postman.setEnvironmentVariable("BrandID", jsondata.brand_id); // creates your env var with first brand id
}
else
{
    postman.setEnvironmentVariable("BrandID", array + "," + jsondata.brand_id); // updates your env var with next brand id
}

您最终应该拥有一个环境变量,例如 BrandId = "brand_id1, brand_id2, etc..."

然后,当您删除它时,您会删除整个数组(但这取决于您的删除 API) 我想可能有更简洁的方法可以做到这一点,但我不是 Postman 和 Javascript 方面的专家,尽管这应该有效(至少对于环境变量的创建而言)。

亚历山大

【讨论】:

    猜你喜欢
    • 2018-10-05
    • 1970-01-01
    • 2021-08-11
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2019-06-27
    相关资源
    最近更新 更多