fiddler设置网速模拟弱网络测试

编程入门 行业动态 更新时间:2024-10-26 17:22:36

在测试过程中,经常会要求测试弱网络情况时的一些特殊情况,这时候IOS还好说,在开发者选项中调整网络模式即可,但android就只能通过别的方式了,这里整理了通过fiddler抓包工具来设置弱网模式,在fiddler可以设置自己想要的网速,或者不稳定的网速来模拟。

前提:

手机设置代理能正常在fiddler抓包。(可以参考blog.csdn.net/qq_41714308/article/details/79368843)

1、在fiddler中启用Rules → Performances → Simulate Modem Speeds :模拟调制解调器的速度

2、在开启第一步模拟调制解调器的速度功能前,应该去设置我们需要模拟的网速,Rules→ Customize Rules,点击该选项后会出现一个文本编辑框,在这段文本内我们只需要修改其中一段代码就可以

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

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

        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代表的是网络响应的延迟时间,单位都是毫秒

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

    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);
    }

 

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

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

 

参考文章:

blog.csdn.net/eleven521/article/details/19089671

blog.csdn.net/u010618194/article/details/76652513

 

 

 

 

 

 

更多推荐

网速,网络测试,fiddler

本文发布于:2023-05-31 10:07:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/389595.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:网速   网络测试   fiddler

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!