公號(hào):軟測(cè)小生(ruancexiaosheng)
對(duì)于Fiddler上面的每個(gè)按鈕的功能的話翠肘,其實(shí)只要鼠標(biāo)停留在按鈕上面就會(huì)出現(xiàn)英文描述的功能替久,今天在來(lái)實(shí)際動(dòng)手過(guò)一遍所有的功能坡椒,并記錄一下拓巧。
第一個(gè)小氣泡:增加備注环壤,點(diǎn)擊氣泡即可對(duì)下面捕捉到的會(huì)話增加備注(一般很少使用)
Replay回放按鈕:比較常用涯保,捕捉到一個(gè)會(huì)話之后想回放這個(gè)會(huì)話诉濒,就可以點(diǎn)這個(gè)按鈕。
remove按鈕:清空監(jiān)控面板夕春,下面還附有很多remove規(guī)則未荒,可以按照你的需要選擇相應(yīng)的remove內(nèi)容,比如Remove all 清除所有及志; Images是清除所有圖片請(qǐng)求等等片排。
go按鈕:用于斷點(diǎn)調(diào)試Debug,類似于Eclipse調(diào)試代碼的F6速侈,下圖紅圈中的位置
1率寡、點(diǎn)擊一下會(huì)出現(xiàn)一個(gè)藍(lán)色向上的箭頭,此時(shí)的意思是截獲發(fā)送request的時(shí)會(huì)有一個(gè)斷點(diǎn)倚搬,可以點(diǎn)擊go按鈕繼續(xù)往下走
2冶共、再點(diǎn)擊一下會(huì)出現(xiàn)一個(gè)向下的綠色箭頭,此時(shí)的意思是截獲request返回時(shí)會(huì)有一個(gè)斷點(diǎn)
Stream按鈕:fiddler代理模式流模式與緩沖模式之間切換潭枣,默認(rèn)是緩沖模式比默,按下即為流模式。
緩沖模式:當(dāng)一個(gè)HTTP請(qǐng)求的所有內(nèi)容全部返回給Fiddler時(shí)候才在界面展示出來(lái)盆犁;
流模式:Fiddler實(shí)時(shí)展示返回的內(nèi)容
Decode按鈕:解壓請(qǐng)求命咐,將HTTP返回的內(nèi)容全部解壓出來(lái),方便查看谐岁。
Keep sessions: 保持sessions會(huì)話醋奠,默認(rèn)為保持全部榛臼,按照你需求的大小,電腦內(nèi)存的大小選擇保持多少會(huì)話窜司,畢竟越多約占用電腦資源沛善。
靶心Any Process: 過(guò)濾請(qǐng)求,可以指定只抓取某個(gè)也面或者瀏覽器的請(qǐng)求塞祈,操作方式:按住靶心按鈕金刁,出現(xiàn)十字狀,按住鼠標(biāo)拖動(dòng)到目標(biāo)瀏覽器界面议薪,可看到瀏覽器界面變成黑色尤蛮,方開(kāi)鼠標(biāo)后按鈕處會(huì)出現(xiàn)你只捕獲的目標(biāo)進(jìn)程編號(hào)。
Find 查找功能:在眾多會(huì)話中查找你需要的信息斯议,上面有一些輔助條件产捞,比如選擇高亮顏色之類的。
Save 保存按鈕:將所有的請(qǐng)求保存到saz文件下哼御,可以再次打開(kāi)使用坯临。
照相機(jī):保存截圖
Browes: 快速啟動(dòng)瀏覽器按鈕,下拉菜單里面有各種本機(jī)裝有的瀏覽器,比如IE,Chrome恋昼,F(xiàn)irefox等
Clear Cache:清除瀏覽器緩存
TextWizard: 編碼/解碼問(wèn)本內(nèi)容看靠,比如URL關(guān)鍵字解碼/編碼,Base64/JS String之類的解碼焰雕,編碼
Tearoff: 分離面板衷笋,將左邊的會(huì)話面板與右邊的面板分離,浮窗矩屁,取消分離的話是直接關(guān)閉分離出來(lái)的面板即可
控制臺(tái):可以在其中輸入命令行辟宗,比如輸入help,就會(huì)在瀏覽器中打開(kāi)常用的命令
Capturing:控制Fiddler是否在工作,顯示Capturing表示工作吝秕,空白表示不截取任何請(qǐng)求泊脐。
Web Browsers:過(guò)濾瀏覽器會(huì)話。其右邊的數(shù)字是當(dāng)前展示的所有會(huì)話數(shù)量烁峭。
控制面板使用:
Statistics: 一個(gè)會(huì)話的數(shù)據(jù)統(tǒng)計(jì)信息容客,顯示一些性能指標(biāo)(時(shí)間),可以為優(yōu)化提供依據(jù)
RTT:請(qǐng)求往返時(shí)間约郁,是衡量請(qǐng)求性能的重要指標(biāo)缩挑,還有一個(gè)全世界范圍內(nèi)的平均數(shù)據(jù)
show chart:數(shù)據(jù)可視化處理
Inspectors: 對(duì)請(qǐng)求進(jìn)行解包,可以查看相應(yīng)的請(qǐng)求和響應(yīng)信息
AutoResponder: 文件代理鬓梅,可以把請(qǐng)求的資源用本地文件代理掉供置,方便調(diào)試線上bug文件,具體如下: 線上bug定位Hotfix bug:(只指定某一個(gè)連接文件到指定的IP或者服務(wù)器)绽快。
比如:發(fā)現(xiàn)線上某個(gè)文件出現(xiàn)bug時(shí)芥丧,現(xiàn)在要將此文件映射到本地環(huán)境(或者是非線上開(kāi)發(fā)測(cè)試環(huán)境)紧阔,做代碼的修改之后快速的查看效果是否與預(yù)期一致,是否生效续担,是否能修復(fù)bug擅耽。
1、將請(qǐng)求拖入到AutoResponder中物遇,可以看到最下方有一個(gè)EXAT乖仇,叫精準(zhǔn)匹配(也支持正則表達(dá)式模糊匹配);
2询兴、在下方可以選擇本地(非線上測(cè)試開(kāi)發(fā)環(huán)境)文件路徑來(lái)進(jìn)行測(cè)試查看結(jié)果这敬,當(dāng)然也可以選擇其他的一些響應(yīng),比如200,500等狀態(tài)蕉朵。
Composer: 前后端接口連調(diào),可以用來(lái)偽造請(qǐng)求--需要后端接口:修改里面的數(shù)據(jù)參數(shù)阳掐,偽造請(qǐng)求始衅,再訪問(wèn)查看效果。
**Log: **記錄日志
Timeline:網(wǎng)站性能分析
HOST配置志向非線上環(huán)境進(jìn)行開(kāi)發(fā)測(cè)試:(將所有的文件映射到指定的IP或者服務(wù)器下面)
Tools-->Hosts缭保,勾上enable汛闸,然后再下方配置一個(gè)目標(biāo)IP地址+host域名(可用的),save艺骂,再來(lái)發(fā)送請(qǐng)求Replay的時(shí)候會(huì)指向新配置的IP地址诸老,即可查看效果。
查看結(jié)果之后要關(guān)閉代理功能有兩種方式1钳恕、取消之前的enable别伏,save;2忧额、直接退出Fiddler厘肮,不用去更改電腦system中的host文件。
Fiddler不顯示ServerIP:
1睦番、點(diǎn)擊菜單Rules-->Customize Rules 2类茂、在CustomRules.js文件里Ctrl+F查找字符串“static function Main()”
添加一行代碼即可顯示ServerIP即可:
[plain] view plaincopy
<embed id="ZeroClipboardMovie_1" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_1" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=1&width=16&height=16" wmode="transparent" style="box-sizing: border-box;">
- FiddlerObject.UI.lvSessions.AddBoundColumn("ServerIP", 120, "X-HostIP");
Fiddler打開(kāi)截獲HTTPS請(qǐng)求后無(wú)法訪問(wèn)網(wǎng)頁(yè):
1、現(xiàn)在大多數(shù)網(wǎng)站都使用了HTTPS托嚣,那么如何截獲呢巩检?fiddler-->Tools-->OPTIONS,-->HTTPS,勾選上Decrypt HTTPS traffic即可示启;
2兢哭、但是發(fā)現(xiàn)這樣就不能正常打開(kāi)網(wǎng)頁(yè),是因?yàn)榇矶丝谠O(shè)置為了8888丑搔,在Options-->Connections中可以查看厦瓢,只要將其修改為8080即可提揍;
3、很多時(shí)候會(huì)提示這個(gè)端口被java占用:打開(kāi)cmd,輸入 taskkill /F /IM即可kill掉占用的進(jìn)程煮仇,如與其它占用劳跃,響應(yīng)找到占用并關(guān)閉即可。
Fiddler請(qǐng)求模擬浙垫,前后端接口調(diào)試(前端頁(yè)面沒(méi)有完成的情況下)
請(qǐng)求的偽造:可以偽造Cookie刨仑,進(jìn)行登錄
前后端連調(diào):Composer -> 選擇請(qǐng)求方式 GET -> copy 地址 參數(shù)-> excuete
然后查看返回?cái)?shù)據(jù)參數(shù)。
POST參數(shù)一般要放到RequestBody中
Fiddler網(wǎng)絡(luò)限速
開(kāi)發(fā)在測(cè)試網(wǎng)站在網(wǎng)速比較差的情況下的一個(gè)性能情況夹姥,基于Fiddler script插件杉武。
小栗子:
點(diǎn)擊fiddlerScript 在代碼里找到onBeforeRequest,加入下面代碼:
Static function OnBeforeRequest
[csharp] view plaincopy
<embed id="ZeroClipboardMovie_2" src="https://csdnimg.cn/public/highlighter/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="16" height="16" name="ZeroClipboardMovie_2" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=2&width=16&height=16" wmode="transparent" style="box-sizing: border-box;">
- oSession["request-trickle-delay"]="3000";//請(qǐng)求階段延遲3秒
- oSession["response-trickle-delay"]="3000";//響應(yīng)階段延遲3秒
Fiddler代碼格式化插件
官網(wǎng)下載插件
JavaScript Formatter 代碼格式化插件
Fiddler Add-ons 插件:javaScript formatter -> js文件右擊 -> 選擇 make javascript pretty -> textview / syntaxview 代碼全部高亮顯示
traffic differ (對(duì)比兩個(gè)不同的對(duì)話): 直接拖進(jìn)兩個(gè)不同的請(qǐng)求辙售,會(huì)顯示完整的對(duì)比數(shù)據(jù) -> 可以用來(lái)對(duì)比優(yōu)化前后網(wǎng)站之間的不同
第三方插件:比如 willow -> 快速管理host列表 完全可視化 http代理插件
可視化限速
因?yàn)闆](méi)有開(kāi)源轻抱,可以到http://pan.baidu.com/s/1mgocpBi進(jìn)行下載體驗(yàn)