fiddler设置弱网(Android和iOS)

一:ios:在开发者选项中network link condition选择设置

二:Android:分稳定网速限制和不稳定网速

  1. 稳定版----------工具栏Rules>Performance>Simulate Modem Speeds勾选表示开启弱网

  2. 不稳定版--------工具栏Rules>performance> Customize Rules修改脚本

  3. 先打开选项卡(Customize Rules)或者右侧找到“FiddlerScript”,找到下面代码:

     

     

    每上传1KB数据,延时300ms

    每下载1KB数据,延时150ms

  4. 计算2G和3G上下行速率      

    1KB = 8kb

    2G网络:

  

 

     3G网络:

 

  5、网络取值的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s  需要delay200毫秒来接收数据。

查找下面的代码,设置好你想要模拟的网速:

        if (m_SimulateModem) {
            // Delay sends by 300ms per KB uploaded. //每延迟300ms发送1kb的数据,也就是每1s发送10/3kb的数据
            oSession["request-trickle-delay"] = "300"; 
            // Delay receives by 150ms per KB downloaded.//每延迟150ms下行1kb的数据
            oSession["response-trickle-delay"] = "150"; 
        }

代码中:request-trickle-delay代表的是你网络请求的延迟时间,response-trickle-delay代表的是网络响应的延迟时间,单位都是毫秒

  6、上面的方式只是模拟一种稳定的网速,但实际情况中,网速是不稳定的,如果需要模拟这种情况,只需要修改代码如下:

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

 

设置完成之后,需要重新开启模拟调制解调器来启用新的设置。

这时候用app进行弱网络条件操作,选择第一个请求和最后一个请求,可以看到整个页面加载所消耗的时间。通过fiddler的记录能知道每个请求不同部分的请求时间。overall elapsed是整个session的时间。

 

 

posted on 2020-09-08 14:38  大象的眉毛  阅读(650)  评论(0)    收藏  举报

导航