Почтальон Тесты Консоль Журнал - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь записать файл console.log в разделе «Тесты в Почтальоне», чтобы сделать две вещи

1 - подсчитать, сколько типов / уникальных «ShipmentStatus» было получено в теле ответа (In-Process,Отправлено и отклонено)

2 - Сколько из каждого ShipmentStatus мы получили, например (4 незавершенных заказа, 5 выполненных заказов)

Как можно выполнить 1 и 2, чтобы отобразитьсяв моем console.log?

"Orders": [
    {
        "id": 544789,
        "Company": {
            "ClientName": "Therese",
        },
        "Shipping": {
            "Address": "Street,",
        },

        "userId": "1413260",
        "ShipmentStatus": "In-Process"
    },
    {
        "id": 544787,
        "Company": {
            "ClientName": "Therese",
        },
        "Shipping": {
            "Address": "Street,",
        },

        "userId": "1413260",
        "ShipmentStatus": "Shipped"
    },
            {
        "id": 544786,
        "Company": {
            "ClientName": "Therese",
        },
        "Shipping": {
            "Address": "Street,",
        },

        "userId": "1413260",
        "ShipmentStatus": "Rejected"
    },

Я могу получить общее количество полученных записей, выполнив следующие действия:

 console.log("Total Orders : " + response.Orders.length);

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Вы можете сделать это, используя объект:

    var buffer = {}
    var orders = pm.response.json().Orders;
    orders.forEach(function(item) {
      var id = item.ShipmentStatus;
    if(buffer[id]) buffer[id]++
      else buffer[id] = 1;
    })
    for(var status in buffer)
    {
    console.log(status + ":" +buffer[status])
    }
    console.log(Object.keys(buffer).length+" unique values")

Так ты меня понял.

0 голосов
/ 18 мая 2018

Вы можете сделать что-то очень быстрое и грязное, как это, если все, что вы хотите увидеть, - это те значения, которые вышли из системы на консоли:

console.log(`Total Orders: ${pm.response.json().Orders.length}`)

var counts = {};
for (var i = 0; i < pm.response.json().Orders.length; i++) {
    counts[pm.response.json().Orders[i].ShipmentStatus] = 1 + (counts[pm.response.json().Orders[i].ShipmentStatus] || 0);
}

console.log(counts)

Я расширил ваш ответ JSON, чтобы вы могли видеть, что этобудет выглядеть, если бы у вас было больше предметов:

Postman Console

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...