iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0

今日主題

有時候API回的結果不如預期,或是資料太多很難確認其正確性,這時候需要有其他的資訊能夠幫助我們去定位問題。Postman Console就提供了這樣的功能,在Postman Console的介面裡,我們能夠看到關於已發送請求的相關資訊,包含了標頭變數憑證以及網路資訊等等,今天的挑戰內容也會體驗到如何利用這項功能。

在開始之前,請別忘了將今天的挑戰 Day 7: Debugging 先行fork到自己的工作區喔。

回到自己的工作區後,打開今天的資料夾Debugging按照右方文件來進行以下步驟

  • 新增請求: 在資料夾Debugging內透過Add request來新增一個請求,並命名為apod

  • 設定請求: 設定GET以及URL為https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&count=10,這是NASA的API`,可以看到帶了兩個參數。

  • 打開Postman Console: 位置在postman的左下方,或是透過Ctrl+Alt+C,打開獨立的視窗
    在這邊可以看到送出的請求資訊,包含了NetworkRequest Headers等等資訊

    https://ithelp.ithome.com.tw/upload/images/20220923/20140317YATiLCqRWr.png

  • 加入log: 在Tests分頁下不只可以定義測試項目,也可以在這邊透過console.log等函式將偵錯訊息輸出到Postman Console

    https://ithelp.ithome.com.tw/upload/images/20220923/20140317ZTxltj3Z5r.png

    像這段程式碼

    let pics = pm.response.json()
    pics.forEach((pic) => { console.log(pic.title, pic.url) })
    

    作用就是將API回傳的response以json的形式去遍歷裡面每一個成員,然後將感興趣的部分如pic.titleconsole.log給輸出到Postman Console,如下圖紅框所圈處就是輸出結果,這種方式可以過濾出少量關注的訊息,不用被大量的雜訊給淹沒

    https://ithelp.ithome.com.tw/upload/images/20220923/20140317pPBHPJ6EVi.png

    除了console.log之外,也可以考慮用其他函式,將紀錄用不同的級別區別開來

    console.log("log")
    console.info("info")
    console.warn("warn")
    console.error("error")
    

    這四行的輸出如下,能看到四種輸出方式會有不同的顯示方式,所以針對比較重要的資訊,可以根據需求來選用

    https://ithelp.ithome.com.tw/upload/images/20220923/20140317r4OPVSOkQj.png

操作步驟到這邊,就可以submit來通過今天的挑戰了,測項如果都是pass就表示完成囉

今日回顧

今天大概介紹了關於Postman Console的用途,不過有時候不用自己主動輸出資訊就能提供一些幫助了,例如有時候因為網路連線的關係,在請求到達伺服器前就已經確定失敗,Postman發不出請求也能在Console裡輸出錯誤的原因。其他常見的場景可以參考以下連結

那麼,今天就先到這邊,我們明天再見


上一篇
Postman Challenge Day 6 - 測試 (Tests)
下一篇
Postman challenge Day 8 - 批次執行 (Run a collection)
系列文
[POSTMAN] 該知道的都知道,不知道的慢慢了解 - 與波斯麵三十天的感情培養32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言