簡體   English   中英

郵遞員:想要驗證從JSON格式的API獲取的數據值

[英]Postman: Wanted to validate data values getting from API in JSON format

我想檢查從 API請求中獲取的值的驗證組合,例如是否顯示"tracked": "Yes"然后應該顯示analytics > "transitTime": 239

API響應代碼段:

{
  "status": 200,
  "data": [{
    "id": 107267,
    "branchId": "22",
    "status": "1",
    "googleETA": "2018-02-01 20:44:51",
    "runDate": "2018-01-29",
    "runOfTheDay": "1",
    "ATD": "2018-01-29 14:02",
    "simCarrier": "Vodafone",
    "pingStatus": "Ok",
    "driverName": "test",
    "shipperCompanyId": "007",
    "ETA": "2018-01-30 12:31:00",
    "locationSource": "sim",
    "created_at": "2018-01-29 07:05:54",
    "updated_at": "2018-01-29 12:35:40",
    "tracked": "Yes",
    "analytics": {
      "loadingTime": 55.62,
      "unloadingTime": 0,
      "transitTime": 239
    },
    "trackingStatusAtClosure": {
      "Origin": "No",
      "Transit": "No",
      "Destination": "No"
    }
  }]
}

這是一項非常基本的檢查,我建議您不要在本地環境中練習以外的任何地方使用它。

pm.test("Basic Check", () => {
    var jsonData = pm.response.json().data
    for(i = 0; i < jsonData.length; i++) {
        if(jsonData[i].tracked === 'Yes') {
            pm.expect(jsonData[i].analytics.transitTime).to.not.be.null
        } else {
            console.log('Tracked does not equal Yes')
        }
    }
})

由於您的數據在data數組中只有一項,因此您實際上不需要添加for循環,但是我為您添加了它,因此您可以看到如果有多個項,則將運行相同的檢查。 如果tracked屬性為“是”,則測試將檢查analytics.transitTime不為null。 就像我說的,它是一項基本檢查,並沒有做很多事情,但希望它將為您提供入門所需的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM