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