postman之如何實現接口測試斷言json返回值(多層級json) +判斷返回值中包含字符

本節目的:使用postman實現接口斷言,取接口中的某個字段驗證

示例接口:

http://api.myhaowai.com/api/search?devid=D9876540D550EF42AB10C0F3AABB6305&page=1&pcode=021000&query=%E5%8F%B7%E5%A4%96%E5%A4%A9%E4%B8%8B&version=3.4

備註:接口爲Get類型(該接口爲某應用搜索接口,搜索內容爲“號外天下”)

 

步驟如下:

1. 雙擊啓動postman

2. 請求接口

在右側輸入接口地址如下圖,大家可以直接點擊send看看該接口返回的是什麼值

 

 

 

實際接口返回如下:

{
    "user_list": [
        {
            "avatar": "https://img2.myhaowai.cn/2016/11/16/1479280668359254.jpg",
            "intro": "",
            "new_source": "1",
            "nickname": "號外天下",
            "nickname_highlighted": "<font color=\"#FF0000\">號外天下</font>",
            "weixin": "hwtx"
        }
    ],
    "result": {
        "code": "1",
        "message": "執行成功"
    },
    "article_list": [
        {
            "aid": "0KDE3WtYbfPm3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img1.myhaowai.cn/2018/01/23/bbcd0f0335f0eefb221b7fa88204e57e.jpeg",
            "new_source": "1",
            "nickname": "大風車藝術教育",
            "readNum": "3586",
            "title": "【號外號外】兒童勵志劇《少年志》",
            "title_highlighted": "【<font color=\"#FF0000\">號外號外</font>】兒童勵志劇《少年志》",
            "url": "/api/article/get_template?template=content&aid=0KDE3WtYbfPm3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "dfc88190139",
            "weixinurl": "/api/weixin/get_info?weixin=dfc88190139&newSource=1"
        },
        {
            "aid": "KB0N8JT5z9rm3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img2.myhaowai.cn/2018/01/12/d662da4951c40465931ab96c9acb99d6.jpeg",
            "new_source": "1",
            "nickname": "百米生活唐山",
            "readNum": "1230",
            "title": "【號外!號外!】唐山“三高”企業招人啦!",
            "title_highlighted": "【<font color=\"#FF0000\">號外</font>!<font color=\"#FF0000\">號外</font>!】唐山“三高”企業招人啦!",
            "url": "/api/article/get_template?template=content&aid=KB0N8JT5z9rm3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "bmshts",
            "weixinurl": "/api/weixin/get_info?weixin=bmshts&newSource=1"
        },
        {
            "aid": "hdoTEoPm1HfHm3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img2.myhaowai.cn/2018/03/24/c2d3f13f8824e11b06e47e1f176f3e54.jpeg",
            "new_source": "1",
            "nickname": "全球設計",
            "readNum": "1817",
            "title": "號外號外,新模式!讓裝修像購物一樣簡單!",
            "title_highlighted": "<font color=\"#FF0000\">號外號外</font>,新模式!讓裝修像購物一樣簡單!",
            "url": "/api/article/get_template?template=content&aid=hdoTEoPm1HfHm3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "LuxeDesign",
            "weixinurl": "/api/weixin/get_info?weixin=LuxeDesign&newSource=1"
        },
        {
            "aid": "wl6hJJiQyF7m3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img0.myhaowai.cn/2018/03/03/899752404aa2ab8708076d03c256f6e6.jpeg",
            "new_source": "1",
            "nickname": "漳州頭條",
            "readNum": "905",
            "title": "號外!號外!這件事和你們家的寶寶有關!",
            "title_highlighted": "<font color=\"#FF0000\">號外</font>!<font color=\"#FF0000\">號外</font>!這件事和你們家的寶寶有關!",
            "url": "/api/article/get_template?template=content&aid=wl6hJJiQyF7m3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "zzshwx",
            "weixinurl": "/api/weixin/get_info?weixin=zzshwx&newSource=1"
        },
        {
            "aid": "aSI06wZOW63m3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img0.myhaowai.cn/2018/02/28/29c279f28bef6e6f80edc933ee4e3312.jpeg",
            "new_source": "1",
            "nickname": "ZERO動漫網",
            "readNum": "6389",
            "title": "藏盡天下",
            "title_highlighted": "藏盡<font color=\"#FF0000\">天下</font>",
            "url": "/api/article/get_template?template=content&aid=aSI06wZOW63m3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "ZERODMW",
            "weixinurl": "/api/weixin/get_info?weixin=ZERODMW&newSource=1"
        },
        {
            "aid": "d2rm3BDtW3pLm3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img0.myhaowai.cn/2018/02/09/cf8cd058d185117495b44ebc22370127.jpeg",
            "new_source": "1",
            "nickname": "撫州公安",
            "readNum": "699",
            "title": "號外~號外~| 公安局會給這種行爲發邀請函哦!",
            "title_highlighted": "<font color=\"#FF0000\">號外</font>~<font color=\"#FF0000\">號外</font>~| 公安局會給這種行爲發邀請函哦!",
            "url": "/api/article/get_template?template=content&aid=d2rm3BDtW3pLm3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "fzgaplice",
            "weixinurl": "/api/weixin/get_info?weixin=fzgaplice&newSource=1"
        },
        {
            "aid": "xrxVm3ET4Uhfm3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img3.myhaowai.cn/2018/02/03/35b3fc35a43a15b19cb982f86d78399f.jpeg",
            "new_source": "1",
            "nickname": "博州女聲",
            "readNum": "752",
            "title": "博州 |號外號外,博州婦聯榮獲全國大獎啦",
            "title_highlighted": "博州 |<font color=\"#FF0000\">號外號外</font>,博州婦聯榮獲全國大獎啦",
            "url": "/api/article/get_template?template=content&aid=xrxVm3ET4Uhfm3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "gh_05bd55d77f96",
            "weixinurl": "/api/weixin/get_info?weixin=gh_05bd55d77f96&newSource=1"
        },
        {
            "aid": "dPg2rHm3U5Lfm3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img2.myhaowai.cn/2018/01/31/d268f2c4a790832a0db9ec69d83136c9.jpeg",
            "new_source": "1",
            "nickname": "萊蕪移動",
            "readNum": "1212",
            "title": "【號外號外】快來領新春60元話費啦~",
            "title_highlighted": "【<font color=\"#FF0000\">號外號外</font>】快來領新春60元話費啦~",
            "url": "/api/article/get_template?template=content&aid=dPg2rHm3U5Lfm3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "LW-CMCC",
            "weixinurl": "/api/weixin/get_info?weixin=LW-CMCC&newSource=1"
        },
        {
            "aid": "wZ2HT7F6JhXm3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img3.myhaowai.cn/2018/01/22/d6dc9bbeb0544c664d56780a11022bcb.jpeg",
            "new_source": "1",
            "nickname": "大慶高新區法院",
            "readNum": "1192",
            "title": "號外!號外!駐院律師緣何不收費?",
            "title_highlighted": "<font color=\"#FF0000\">號外</font>!<font color=\"#FF0000\">號外</font>!駐院律師緣何不收費?",
            "url": "/api/article/get_template?template=content&aid=wZ2HT7F6JhXm3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "dagxqfy",
            "weixinurl": "/api/weixin/get_info?weixin=dagxqfy&newSource=1"
        },
        {
            "aid": "3XREJce25Fnm3aO28cHhTkg==",
            "flag": "0",
            "imgurl": "https://img4.myhaowai.cn/2018/01/23/9c9fab4300c9301ff171a2ca9129412b.jpeg",
            "new_source": "1",
            "nickname": "合肥氣象",
            "readNum": "1102",
            "title": "號外!號外!!暴雪已發貨,記得24日晚簽收哦~",
            "title_highlighted": "<font color=\"#FF0000\">號外</font>!<font color=\"#FF0000\">號外</font>!!暴雪已發貨,記得24日晚簽收哦~",
            "url": "/api/article/get_template?template=content&aid=3XREJce25Fnm3aO28cHhTkg==&newSource=1",
            "videoCovers": "",
            "videourls": "",
            "weixin": "hf_goodweather",
            "weixinurl": "/api/weixin/get_info?weixin=hf_goodweather&newSource=1"
        }
    ]
}

3. 設置斷言

我們不可能寫好接口之後,每次挨個點擊進去查看一下是否返回數據正確,因此需要我們設置一些判斷,判斷這個接口是否正常運行。這個判斷就叫斷言。postman中的斷言是在tests中設置,如下圖(點擊test即進入了斷言設置區)

一、斷言返回的json數據中是否存在“result“字段

 

  1. 點擊上圖中右方紅色字體“Response body:contains string"
  2. 點擊之後,會在tests框中自動生成一串代碼如下:
    tests["Body matches string"] = responseBody.has("string_you_want_to_search");
  3. 修改測試命名以及檢測測result字段是否存在
    tests["檢測是否返回result字段"] = responseBody.has("result");
  4. 點擊send運行接口,結果如下:
  5. 上圖body爲接口請求返回的參數,點擊test results可以查看斷言結果,紅色爲失敗,藍色爲斷言正確

二、斷言json返回值中的user_list下第一個結果的nickname值爲”號外天下“

 

  1.  點擊右方紅色字體:Response body:Json value check
  2. 將系統生成的代碼修改爲:
    var jsonData = JSON.parse(responseBody);
    tests["檢查公衆名稱"] = jsonData.user_list[0].nickname === "號外天下"

三、斷言斷言json返回值中的article_list下第二個結果的nickname值爲”百米生活唐山“

tests["檢查文章名稱"] = jsonData.article_list[1].nickname === "百米生活唐山"

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章