注:此文章只針對Fidder如何捕獲請求和模擬資料回傳進行描述,不涉及Fidder其他作用
一、Fidder安裝包下載
Fidder官網下載地址:Download Fiddler Web Debugging Tool for Free by Telerik
二、Fidder簡介(個人理解)
Fidder在客戶端和服務端之間充當中間者的角色,客戶端每次發送請求時,都會經過中間者(Fidder),再發送到服務端,當Fidder對客戶端某一埠設定了捕獲操作時,會把客戶端從對應埠發出的,原本應發送到服務端的所有請求進行捕獲,再對對應介面資料進行模擬操作之后,再回傳給客戶端,

三、為什么使用Fidder
- 開發階段:在確認介面資料結構時(介面評審 - 與后端確認介面資料結構和欄位型別),我們可以根據約定好的資料結構,主動去模擬介面資料,并使用Fidder捕獲介面并回傳自己模擬的、且符合約定的介面結構資料,在開發程序中就可以直接使用模擬的介面資料欄位,真正做到邊開發邊聯調(模擬資料),在后續聯調時,只需要關閉Fidder的介面捕獲,在保證介面資料結構不變和資料欄位型別正確的前提下,就可以獲取到真實的且符合約定的資料結構,大大節省了開發成本和聯調時間,
- 聯調階段:當第一次聯調時,在保證介面資料結構和欄位型別一致性的前提下,我們可以直接copy對應介面的真實資料,來替換我們自己模擬的資料,保證我們所使用到的資料都是真實資料,這樣做的好處是,如果后續后端介面出現問題或者其他影響介面請求的情況時,我們獲取真實的資料的來源不再唯一(依賴后端提供介面來獲取真實資料),我們還可以使用Fidder捕獲報錯的、有問題的介面,轉而使用自己copy的、已經替換了的模擬請求資料(此時的模擬資料是真實資料)繼續聯調開發,以此來保證我們的開發進度,大大減少了與后端之間的依賴性(只需獲取一次,后續自給自足),
四、微信開發者工具設定代理埠 + Fidder設定捕獲埠
微信開發者工具設定代理埠
打開微信開發者工具 - 設定 - 代理設定 - 代理 - 手動設定代理 - 輸入地址:127.0.0.1:8888(Fidder默認地址埠)


Fidder設定捕獲埠
啟動Fidder - Tools - Options - Connections - 設定 8888(對應微信開發者工具設定的埠號)- 點擊OK - 重啟Fidder


五、Fidder捕獲http、https請求
https請求捕獲配置
Tools - Options - HTTPS - 開啟如圖配置 - OK - 出現彈窗點擊yes即可


Fidder捕獲http、https請求
過濾出我們需要捕獲的域名,方便我們后續的捕獲操作
Filters - 開啟Use Filters - 過濾出我們需要的域名

開啟規則啟用(Enable rules) 和不捕獲我們過濾掉的請求(Unmatched requests passthrough)
將我們捕獲到的所有請求全部清除,后續所有的清除捕獲請求資料也可以在這里去操作,也可以選擇性地清除捕獲請求型別,如:圖片型別Images

重新向服務器發出請求,Fidder重新捕獲請求,這時可以清晰看到,我們只捕獲到我們想要捕獲的請求,其他不需要的都過濾掉了,清晰明確,

選擇我們捕獲到的、想要模擬的介面,滑鼠緊按左鍵不松開,直接拖拽到右邊區域即可

捕獲到的請求默認前綴為EXACT,即全匹配,如果我們只需要模擬介面資料,可以將前綴修改為regex,即正則匹配(模糊匹配),可根據自己的實際需求,選擇性去除請求攜帶的引數

創建一個后綴名為 .json 的檔案,存放我們用來模擬介面回傳的資料,根據約定好的資料結構和欄位型別,自己去模擬資料,并將我們創建的檔案,作為捕獲到的介面資料,直接在開發階段去使用即可
點擊捕獲的請求 - 點擊下拉 - 點擊 Find a file - 將我們創建的 .json 檔案匯入 - 點擊 save 保存

此處模擬的介面資料,補圖

微信開發者工具查看我們呼叫介面獲取到的資料(模擬資料),補圖

補充:EXACT全匹配可以用來代理介面地址的跳轉,如開發環境想要代理到測驗環境,我們不需要直接到配置中去修改,只需要捕獲開發環境地址,再代理到測驗環境地址即可(直接修改有時在開發中會忘記忽略,便直接提交到gitlab上,導致其他組員在拉取代碼后也受到影響),補圖

補充:不需要模擬的介面,點擊去掉勾選即可(右邊區域捕獲請求置灰),不勾選即不啟用捕獲請求,拖拽時默認勾選(啟用捕獲)

補充:模擬介面延遲操作
開啟延遲 Enable Latency - 右鍵需要延遲的捕獲請求 - 點擊設定延遲Set Latency - 輸入需要延遲的毫秒數(1000 = 1秒) - 點擊OK


六、保存Fidder捕獲的請求
建議新建個檔案夾,用來保存各個版本Fidder所需要捕獲的請求和模擬的資料檔案,后續復盤或修復版本bug可以直接匯入,不需要重新去捕獲

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/396164.html
標籤:其他
上一篇:【對學習現狀的總結和思考】
