Postman 测试控制台日志

roo*_*vmc 4 javascript postman

我正在尝试在 Postman 的 Tests 下编写 console.log 来完成两件事

1- 计算响应正文中收到的类型/唯一“ShipmentStatus”数量(处理中、已发货和已拒绝)

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"
    },
Run Code Online (Sandbox Code Playgroud)

我可以通过执行以下操作来获取收到的总记录

 console.log("Total Orders : " + response.Orders.length);
Run Code Online (Sandbox Code Playgroud)

Dan*_*ton 5

如果您想看到的是那些注销到控制台的值,您可以像这样快速而肮脏地做一些事情:

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)
Run Code Online (Sandbox Code Playgroud)

我扩展了您的 JSON 响应,以便您可以看到如果您有更多项目,它会是什么样子:

邮递员控制台