使用json从Postman正文中的数组响应中仅获取一项

时间:2020-08-10 12:59:12

标签: json postman

我对Postman并不陌生,我的API中有一个方法接受两个参数:AccountNumber和GroupId,以检查是否有与AccountNumber相关联的客户ID。当我运行发布请求时,如果它返回2个或更多的customerId,我应该将响应返回给用户以选择要使用的customerId。我怎么做? 现在,在请求的正文中,我有:

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

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

谢谢您的帮助,我非常感谢!

1 个答案:

答案 0 :(得分:0)

不太可能是邮递员问题。

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

但是,您可以做的是为当前请求编写一个测试用例。有一个“测试”选项卡,“参数”选项卡在其中。在右侧,有有关如何使用响应主体创建测试的摘要。让我给您一个简单的测试用例,以获取第一个元素:

假设我有以下响应正文

[
  {
    "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"
    });
});