【问题标题】:Get only one item from the array response in the Postman body using json使用json从Postman正文中的数组响应中仅获取一项
【发布时间】:2020-08-10 12:59:12
【问题描述】:

我是 Postman 的新手,我的 API 中有一个方法采用 2 个参数:AccountNumber 和 GroupId,用于检查是否有与 AccountNumber 关联的客户 ID。当我运行 Post 请求时,如果它返回 2 个或更多 customerId,我应该将响应返回给用户以选择要使用的 customerId。我怎么做? 现在,在请求的正文中,我有:

{
    "AccountNumber":"0001",
    "GroupId": "1"
}

输出是一个 customerId 数组。如何仅使用从 POST 响应中选择的一个 customerId 进行测试?

感谢您的帮助,我真的很感激!

【问题讨论】:

    标签: json postman


    【解决方案1】:

    这不太可能是邮递员的问题。

    您正在通过 Postman 使用 API。您无法从 Postman 控制 API 本身的输出。

    不过,您可以为当前请求编写一个测试用例。有一个“测试”选项卡,“参数”选项卡所在的位置。在右侧,有关于如何使用响应正文创建测试的 sn-ps。让我给你一个简单的测试用例来获取第一个元素:

    假设我有以下响应正文

    [
      {
        "name": "Blue",
        "id": "5f1830d217afbb52acac9868"
      },
      {
        "name": "Orange",
        "id": "5f1e7afeb334ae70b4f05d1d"
      },
      {
        "name": "Red",
        "id": "5f1e7b10b334ae70b4f05d1e"
      },
      {
        "name": "Green",
        "id": "5f1e7b10b334ae70b4f05d1f"
      },
      {
        "name": "Yellow",
        "id": "5f1e7b10b334ae70b4f05d20"
      }
    ]
    

    测试用例如下所示:

    pm.test("Example Test", function () {
        var jsonData = pm.response.json();
    
        pm.expect(jsonData[0]).to.eql({
                name: "Blue", 
                id: "5f1830d217afbb52acac9868"
        });
    });
    

    【讨论】:

    • 没用,还在显示所有客户
    • 能否提供测试的javascript,好吗?
    猜你喜欢
    • 2022-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 2020-03-22
    • 2016-03-23
    • 1970-01-01
    相关资源
    最近更新 更多