Fiddler无所不能——之测试开发攻城狮必备神器
fiddler官網?https://www.progress.com/
官網下載fiddler??https://www.telerik.com/download/fiddler/fiddler4
fiddler插件下載?https://www.telerik.com/fiddler/add-ons
?
Fiddler無所不能——之測試開發攻城獅必備神器
1、模擬真實網絡環境4g網、3g網絡、2g網絡、弱網等?
開啟弱網Rules——Performance——勾選Simulate Modem Speeds
關閉弱網Rules——Performance——取消勾選Simulate Modem Speeds
?自行設置指定的上行下行網速
?
?
?
?2、并發請求,測試并發請求導致的問題?
右擊——Replay——按住shift再點擊Reissue Requests,彈出框設置并發次數5次并確定,可以看到同一時間相同請求發送了5次,這就是并發請求,
3、接口測試、接口調試(手動配置接口參數/抓的接口手動拖至composer即可)
?
4、環境映射(安裝插件stave)
? ? <1>環境切換:當我手機裝的是測試環境包/線上環境包,想映射到線上環境/測試環境,可以通過此途徑
? ? <2>舊版本兼容:新版本已測試通過,想測老版本兼容,可以下載線上包,通過映射到測試環境,可以達到線上前端兼容新服務測試
?
?
?
5、mock服務(前后端聯調、前端測試、頁面適配測試)
? ? ? 項目版本中,當我們前端已做好,后端未好時,我們不能干坐著等后端好了再調試或再測試,這時我們就可以用上這個方法了
? ? ?<1>桌面新建json/txt接口響應數據,設置測試數據,與接口定義文檔一致
? ? ?<2>將要測接口拖至右邊AutoResponder窗口中,勾選Enable rules,勾選此接口并選中,選find a file…(圖2)然后選響應文件(圖1)
? ? ?<3>設置完成后,app前端再次請求此接口,查看響應體(圖3),并查看頁面展示數據,正是圖1設置的響應體
?
?
?
?
?6、模擬定位
? ? ?有時我們想測試下app的其它城市定位;或者其它城市切換至本城市
? ? <1>抓取美團小程序定位接口,目前定位上海
? ? ??https://i.meituan.com/locate/latlng/34.287145,108.948189.json?isMars=false
? ? <2>百度地圖查找要定位城市的坐標點34.287145,108.948189
? ? <3>fiddler底部欄中bpu??https://i.meituan.com/locate/latlng 回車后
?
? ? ?<4>小程序中再次請求定位這個接口,此時攔截住請求,快速修改上海坐標點為西安坐標點,點run to completion,接口響應定位數據為西安
? ? <5>再次查看小程序里,首頁定位到西安了,達到目的了,哈哈哈哈哈
?
7、fiddler查看顯示接口請求的ServerIP
? ? ?1. 運行fiddler,菜單,Rules->Customize Rules…或者點擊右側tab
? ? ? ?“FiddlerScript”
? ? ?2、Ctrl+F查找“static function Main()”字符串,然后添加下面這行代碼:
? ??FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");
?
?7、模擬失敗場景測試(登錄失敗、查詢頁面失敗等)
我們平時測試重點只會關注正常成功邏輯,而恰恰忽略了異常失敗邏輯,并且對于異常測試無從下手,這時我們就要拿出秘密武器了
???<1>抓取要測試的接口,我們可以看到接口是通過的
? ???<2>右側切換至AutoResponder頁面,拖拽<1>中接口至AutoResponder頁面中間區域,勾選頂部3個選框,底部選擇要模擬的報錯形式,點save保存
?
? ??<3>這時就設置好了,重新請求此接口或退出app重新進,再次請求此接口,我們回看到左側抓包區域,此接口報錯502,就達到了模擬接口502的效果
?
?
8、攔截http請求,設置斷點
使用Fiddler進行HTTP斷點調試是fiddler一強大和實用的工具之一。通過設置斷點,Fiddler可以做到:
①修改HTTP請求頭信息。例如修改請求頭的UA,Cookie,Referer信息,通過“偽造”相應信息達到相應的目的(調試,模擬用戶真實請求等)。
②構造請求數據,突破表單的限制,隨意提交數據。避免頁面js和表單限制影響相關調試。
③攔截響應數據,修改響應實體。
?
設置斷點共有兩種方式:
①fiddler菜單欄->rules->automatic Breakpoints->選擇斷點方式,這種方式下設定的斷點會對之后的所有HTTP請求有效。有兩個斷點位置:
1)before response。也就是發送請求之后,但是Fiddler代理中轉之前,這時可以修改請求的數據。
2)after response。也就是服務器相應之后,但是在Fiddler將響應中轉給客戶端之前。這時可以修改響應的結果。
3)如何消除命令呢?點擊Rules->Automatic Breakpoint->Disabled
②命令行設置斷點
1)bpu在請求開始時中斷
命令行輸入:bpu?www.baidu.cm(攔截www.baidu.com請求)
解除攔截:輸入命令:bpu
2)bpafter在響應到達時中斷
命令行輸入:bpafter www.baidu.cm(攔截www.baidu.cm返回值)
解除攔截:輸入命令:bpafter
3)bps中斷HTTP響應狀態為指定字符的全部session響應
命令行輸入:bps 302
解除攔截:輸入命令:bps
4)bpv/bpm中斷指定請求方式的全部session響應
?
總結
以上是生活随笔為你收集整理的Fiddler无所不能——之测试开发攻城狮必备神器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】xlwt和xlrd模块写
- 下一篇: python第一步怎么写_python第