在被測接口並沒有明確的接口文檔給出時,我們需要借助抓包工具來幫助測試,利用抓包工具我們幾乎可以獲得接口文檔中能給你的一切。常見的抓包工具有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的端口號
於是Charles這邊會彈出建立連接的提示,選擇允許即可。
之后的操作就和web沒有什么區別了。
1、獲取本機IP地址
2、打開手機設置無線連接(需要和電腦在同一局域網)
長按wifi連接修改無線連接
打開高級選項,設置主機名和端口后保存
3、設置Fiddler
從下圖可以看出,抓到的全是HTTP請求
4、抓取HTTPS設置
5、安裝HTTPS證書
在手機瀏覽器地址欄中輸入:主機IP地址:端口,如下圖:
輸入證書名稱,如下圖:
安裝成功
現在能抓到HTTPS請求了
6、設置過濾