Postman 實(shí)用接口測(cè)試系列 6 - 解析Json response 結(jié)果

在用postman進(jìn)行接口測(cè)試的過(guò)程中,如果接口之間有依賴,那必然涉及到需要把接口的response結(jié)果的值提取出來(lái)給下一個(gè)接口使用。
今天我們就來(lái)講一講如何提取一個(gè)json類型的response里的數(shù)據(jù)。

假設(shè)我們的response如下。

{
    "dateSlots": [
        {
            "date": "2020-07-23",
            "available": true
        },
        {
            "date": "2020-07-24",
            "available": true
        }
    ],
    "timeSlots": [
        {
            "dealerId": "9",
            "advisorId": null,
            "date": "2020-07-23",
            "startTime": "9:00",
            "endTime": "9:30",
            "available": false
        },
        {
            "dealerId": "9",
            "advisorId": "ADV_490_13",
            "date": "2020-07-23",
            "startTime": "13:00",
            "endTime": "13:30",
            "available": true
        },
        {
            "dealerId": "9",
            "advisorId": "ADV_490_13",
            "date": "2020-07-23",
            "startTime": "13:30",
            "endTime": "14:00",
            "available": true
        }
    ]
}

1.提取所有response的值

pm.test("get timeslots", function(){

    var data = pm.response.json();

    console.log(data)

})

2.提取timeSlots里的值

pm.test("get timeslots", function(){

    var data = pm.response.json();

    console.log(data.timeSlots)

})

3.提取第一個(gè)dealerId的值

pm.test("get timeslots", function(){

    var data = pm.response.json();

    console.log(data.timeSlots[0].dealerId)

})

4.遍歷所有的dealerId的值

pm.test("get timeslots", function(){

    var data = pm.response.json();
        
    _.each(data.timeSlots, (result) => {
        console.log(result.dealerId)
    })
})

5.找出所有available為true,dealerId不為null的advisorId的值

pm.test("get timeslots", function(){
    var data = pm.response.json();

    _.each(data.timeSlots, (result) => {
        if(result.available == true && result.advisorId != null){
            console.log(result.advisorId)
        }
    })
})

6.把所有的符合條件5的advisorId存到全局變量

把所有的advisorID存到一個(gè)數(shù)組中,名為advisorIds的全局變量中。
使用JSON.stringify(), 把數(shù)組值作為一個(gè)string存起來(lái)。

    var data = pm.response.json();
    let advisorIds = [];

    _.each(data.timeSlots, (result) => {
        if(result.available == true && result.advisorId != null){
            advisorIds.push(result.advisorId)
        }
    })

    pm.globals.set("advisorIds", JSON.stringify(advisorIds))
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容