在被測接口並沒有明確的接口文檔給出時,我們需要借助抓包工具來幫助測試,利用抓包工具我們幾乎可以獲得接口文檔中能給你的一切。常見的抓包工具有Charles和Fiddler, Fiddler只能用在Windows平台, 而Charles可用於Windows, Mac, IOS和Android多平台。下面就總結一下Charles的用法。
Web抓取:
Charles配合PC平台的抓取很簡單,打開Charles確定它已經開啟了錄制的狀態,隨便在瀏覽器上面操作你的網頁所訪問到的接口就都會被Charles抓到,想哪個,打開看即可,Request,Response,Headers,Cookies等應有盡有。
修改請求或返回值:
有時候我們需要修改請求或返回值來配合測試,Charles可以方便地幫你實現。在請求中,Charles可以做中間的編輯工作,原理如:
操作如下:
右擊需要被修改請求,選擇Breakpoints;
再次執行該請求時請求被發出后中斷,你可以在Edit Request窗口對請求做你想要的修改,然后點擊Execute繼續發送請求,如果不需要改Request只想改Response的話可以在此直接點擊Execute按鈕;
請求發出,服務器處理后返回Response,這時服務器返回的Response被中斷;你可以在Edit Response窗口做你想要的修改,在點擊Execute按鈕把修改后的Response返回給客戶端。
操作后你可以取消對Breakpoints的勾選,再執行時該請求就不會被中斷了。
篩選你關注的請求
Charles抓取到的請求量很大,有時候你想找到你關注的某一個請求如大海撈針,如何篩選你關注的請求呢?Charles有兩種視圖,Structure和Sequance,
Structure視圖是默認的,它展示的是按結構來組織的請求,通過結構你可以逐步鎖定你關心的請求所在的范圍直到找到它;Sequance視圖下,你可以在Filter區域寫入關鍵字來過濾出你關心的請求,這種辦法更加直接快捷。
移動端App抓取
首先要保證移動端和Charles處於同一局域網內,然后為移動端創建代理:在PC端找到IP地址和Charles的端口號;
打開移動端網絡設置,手動設置http代理:
於是Charles這邊會彈出建立連接的提示,選擇允許即可。
之后的操作就和web沒有什么區別了。
Charles安裝包-百度網盤
鏈接:https://pan.baidu.com/s/16101wRZFhk5kiOsd8BO6NQ 密碼:e5i2