Fiddler 實用功能總結

星星石發表於2020-12-09

最近一段時間測了App、web端、微信小程式等,對比了幾種抓日誌的方式,覺得fiddler還是挺通用的,彙總一撥~~~

抓取介面請求:
一、微信小程式測試
1.抓取PC端微信小程式介面日誌
先清一下小程式快取,點開手機端分享的連結進入小程式,檢視fiddler請求(無需特殊設定)

2.抓取手機端微信小程式介面日誌
手機端基礎設定請參照:轉載 https://www.jianshu.com/p/724097741bdf
1)安卓端:微信7.0版本以上或系統7.0版本以上都抓不到了,要麼開發在程式碼裡設定,要麼需要用其他工具折騰,比較麻煩,如果實在想整,請參照:轉載https://testerhome.com/articles/17746
2)ios端,基礎設定完成後,就可以抓到小程式的介面日誌了

3.微信小程式手機端清快取方法(體驗版)
1)開啟小程式右上方“...”,開啟除錯,點選wx.clearStorage(),清除快取,刪除儲存的微信小程式,重新掃碼進入(測試的時候開發提供一個二維碼)




二、一般的web端和app端
沒有什麼可講的,就是基礎設定做好,如果抓不到就看下是不是fiddler本身的問題,一般重啟或者解除安裝重灌可以解決

三、框架比較特殊的app端
比如Flutter,預設Flutter不會主動使用系統代理,需要單獨設定,正是因為HTTP客戶端沒有使用我們設定的系統代理,他們自然也不會連線Fiddler建立的代理伺服器,最終導致我們無法獲取任何請求。
此時就需要祭出我神器了V*軟體drony,drony會在你的手機上建立一個V,將手機上的所有流量都重定向到drony自身(不是流向V*伺服器) ,這樣drony就可以管理所有手機上的網路流量,甚至可以對手機上不同APP的流量進行單獨配置
具體設定請參照:轉載https://cloud.tencent.com/developer/article/1490033
這個工具有個問題,就是我用的102版本,不適配8.0的安卓系統,需要配置比較低的手機,如果需要在高配置的手機上操作,可以去下載高版本drony試一下

限速測試
1.Rules – Customize Rules(快捷鍵Ctrl + R)開啟Fiddler ScriptEditor

2.Ctrl + F 查詢m_SimulateModem標誌位

3.找到onBeforeRequest,修改上行上傳速度/下行下載速度的 引數,如你要模擬上傳速度100KBps的網路,那上傳延遲就是1KB/100KBps=0.01s=100ms,就改成100

4.開啟fiddler,Rules –> Performances –> Simulate Modem Speeds 勾當選中此選項網速就會變很慢,這樣就實現了弱網路效果

注意:每次編輯並儲存配置檔案後,Simulate Modem Speeds選項會被取消,請重新勾選。

使用AutoResponder更改請求的返回結果
fiddler本身提供了斷點,可以修改請求引數和返回結果來達到某種測試需要,但由於超時時間很短,一般在幾秒之內,而在這麼短時間內往往還沒有手動修改完,請求已經超時,導致無法模擬請求。
此時我們可以使用AutoResponder功能,它可以過濾到某個http請求,指定本地返回結果,用於取代伺服器返回
1.首先將該兩選項勾選;

2.將請求拖入該區域

3.本地建立txt檔案,寫一個返回結果,例如:{"status":402,"data":{"msg":"appID不存在!"}}。
4.修改規則後test一下是否匹配測試的url,如匹配則testURL中有地址,背景色為淺青色,save一下。

5.好了,客戶端操作傳送此請求時,fiddler就會自動幫我們修改返回的結果

以上如有錯誤的地方,歡迎小夥伴們溝通指正~~

相關文章