轉(zhuǎn)載
問1
測試過程中需要模擬多種用戶網(wǎng)絡場景,但是公司網(wǎng)速嗖嗖的[拉仇恨了嗎?O(∩_∩)O哈哈~],除了使用Netlimiter軟件限制PC網(wǎng)速外,F(xiàn)iddler能破么?能破么?
當然能!Fiddler是一個代理,它提供了客戶端請求前和服務器響應前的回調(diào)接口,我們可以在這些接口里面自定義一些邏輯。Fiddler的模擬限速就是在客戶端請求前來定義限速的邏輯,此邏輯是通過延遲發(fā)送數(shù)據(jù)或接收的數(shù)據(jù)的時間來限制網(wǎng)絡的下載速度和上傳速度,從而達到限速的效果。Fiddler提供了一個功能,可以方便的模擬低速網(wǎng)路環(huán)境。
方法:Rules > Performances > Simulate Modem Speeds ,如圖所示
網(wǎng)速瞬間降低,感覺像回到了解放前,有木有……
也許Fiddler的低速已經(jīng)超出你的忍耐程度了,那么,可以使用腳本重新定義一下低速網(wǎng)絡
1. 打開腳本編輯器:Rules > Customize Rules
2. 搜索m_SimulateModem,
3. 然后根據(jù)自己的需要修改如下語句
oSession["request-trickle-delay" ] = "300";(每上傳1KB延遲300ms)
oSession["response-trickle-delay" ] = "150";(每下載1KB延遲150ms)
4. 點擊Save Script后,之前勾選的Simulate Modem Speeds會被取消勾選,需要重新再勾選回來
從此,低速高速一鍵切換無煩惱
問2
使用 Fiddler 保存會話的response,大家都知道右鍵點擊會話選擇”save > Response >Response Body“,但是在保存后卻發(fā)現(xiàn)里面都是亂碼[哭]
這是因為為了提高性能,F(xiàn)iddler會將會話的response壓縮后進行傳輸,查看Transformer的選項卡,可看到GZIP Encoding處于選中狀態(tài),想要正常查看被壓縮的數(shù)據(jù),需要選擇成No Compression(解壓縮),但是出現(xiàn)亂碼的情況下,該處是不能點擊的,怎么解決嘞?
方法1. 如果想在會話處理過程中decode,點擊Fiddler工具欄的"Decode"按鈕,則會對所有的會話進行decode,這樣保存的response就能正常顯示了,需要注意:點擊“Decode”之后需要重啟 Fiddler
方法2. 如果想對所有會話處理之后再進行No Compression(解壓縮),可以選擇多個會話,右鍵選擇“Decode Selected Sessions”
另外,有時候也會遇到以下情況:點擊一個會話,在會話的response區(qū)域看到的卻是亂碼,上面有黃條提示”Response is encodeed and require decoding before inspection.Click here to transform“,對應的Transformer勾選情況如下圖所示
處理方法:這種情況下只要按照提示點擊黃條即可對當前的會話進行decode,但是這樣處理只針對當前的會話,是一次性的效果,如果不擔心傳輸性能的話,可以直接使用方法1