• fiddler做弱网测试的步骤


    参考

    1、这里有详细的算法:https://blog.csdn.net/qq_41714308/article/details/82894686 

                她有说后面的结果分析

    2、这里介绍比较全面:https://blog.csdn.net/qq_28351609/article/details/84568422

           他这里说fiddler只能做网络延时,不能模拟丢包 ,模拟丢包要用NEWT (Network Emulator for Windows Toolkit)

    3、https://blog.csdn.net/baidu_zhongce/article/details/46683323 它也说了fiddler只能模拟应用层HTTP协议的,不能模拟丢包

    面试题:

    如何用fiddler做弱网测试?

    答:在fiddler脚本编辑器中修改上行下行的延迟时间,然后开启模拟器,就可以开始测试了。

    步骤:

    1、ctrl+R打开fiddle的脚本编辑窗口,ctrl+F查找response-trickle-delay,找到如下图中的

    解释:request-trickle-delay:网络请求的延迟时间,response-trickle-delay:网络响应的延迟时间,单位都是ms

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

     我认为的模拟2G设置request延时=3000ms,response延时=1000ms

                            3G上行100ms,下行40ms

    2、修改好代码后,启用模拟器

    在fiddler中Rules → Performances → Simulate Modem Speeds 

    3、分析

    手机点击登录,抓到了登录的包,fiddler中选择这条登录请求,查看右边的statistics面板

    5、【编写自定义脚本:设置一定范围内随机抖动】
      进一步地,我们可以扩展CustomRules.js里的逻辑,参照Jscript的文档可以在模拟恶劣环境中加入更多自定义的逻辑,这里实现了一个随机延时量设置,使得网络带宽不是恒定为一个低速的值,而是会在一定范围内随机抖动:

    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,50);
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = ""+randInt(1,50);
    }

    【Fiddler模拟恶劣网络环境的局限性】
      Fiddler进行限速较为简单和灵活,配置也较为方便,但是由于它是一个应用层的HTTP的代理,只能模拟该层上的行为,对于一些复杂的网络层的丢包、重传等恶劣情况就不能很好的模拟出来,而且对于其他协议的应用也不支持,后续会介绍一些其他的模拟恶劣环境的方法和软件来弥补这些缺失。

  • 相关阅读:
    Jquery 面板导航,切换效果
    Jquery闪耀的地方,dom遍历,过滤查找的例子
    Jquery 通过 data- 来实现按钮点击切换显示隐藏
    Bootstrap 点击按钮切换内容
    c语言快速学习
    嵌入式学习
    16_文件的操作
    06_指针
    11_函数的退出方式
    10_参数数量可变的函数及命令行参数
  • 原文地址:https://www.cnblogs.com/hongyufei/p/12755529.html
Copyright © 2020-2023  润新知