Android使用Fiddler模擬弱網絡環境測試


原文:https://blog.csdn.net/u010618194/article/details/76652513

 

1.設置fiddler

頂部Tools-->Connections,把port改為8888,這個時候就可以使用我們的手機代理到電腦上了。

 

 

2.設置安卓設備代理

電腦跟手機同一個網絡

 

3.設置網絡限制

fiddler-->工具欄中找到Rules-->Customize Rules

在這個文本編輯器中使用Ctrl+F使用搜索功能搜索關鍵字:simulate,可以找到如下代碼段

 

讓我們來分析一下這幾行代碼:

  • 首先來判斷m_SimulateModem是否為true,也就是是否設置了弱網模式。

  • 如果為弱網模式。則分析代碼

  • oSession[“request-trickle-delay”] = “300”; 注釋的也很明白,Delay sends by 300ms per KB uploaded.上傳1KB需要300ms,轉化一下上傳速度:1Kb/0.3s = 10/3(KB/s)

  • 如果你想設置上傳的速度為50KB/s,你則需要設置Delay 時間為 20ms

  • 同樣的方法,也可以限制上傳的速度,調整oSession[“response-trickle-delay”]即可。

request-trickle-delay代表的是你網絡請求的延遲時間,response-trickle-delay代表的是網絡響應的延遲時間,單位都是毫秒,這里默認給的是300毫秒和150毫秒,所以,只需要修改這2個值即可模擬網絡延遲和弱網絡環境了,比如可以修改上述2個值為:2000和2000,代表網絡請求延遲2秒,網絡響應延遲2秒:

改完之后記得按Ctrl+S保存。

 

4.開啟網絡延遲

還是我們的Rules功能中,找到Performance,然后在子選項中可以看到一個Simulate Modems Speeds,選中它,大功告成,網絡延遲已經開啟,如果需要關閉網絡延遲,再次點擊即可。

 

5.擴展弱網絡規則

可能我們在測試中不會想要一個一直虛弱的網絡環境,而是隨機強弱的網絡,這樣比較貼切我們的真是情況,那么我們可以修改上述代碼為:

1 static function randInt(min, max) {
2     return Math.round(Math.random()*(max-min)+min);
3 }
4 if (m_SimulateModem) {
5     // Delay sends by 300ms per KB uploaded.
6     oSession["request-trickle-delay"] = ""+randInt(1,2000);
7     // Delay receives by 150ms per KB downloaded.
8     oSession["response-trickle-delay"] = ""+randInt(1,2000);
9 }

這里的randInt(1,2000)應該很好理解,代表1-2000中的一個隨機整數,這樣就會出現偶爾有延遲偶爾網絡又良好的情況

 

 

備注:不同網絡環境設置可參考如下圖:

 

 

https://blog.csdn.net/qq_24373725/article/details/80060609

 

Fiddler功能介紹之Web抓包、遠程抓包教程

https://mp.weixin.qq.com/s/i8u6d8a43Ab5rHciykpmgQ


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM