当前位置: 代码迷 >> 综合 >> 【Fiddler】模拟弱网络环境测试
  详细解决方案

【Fiddler】模拟弱网络环境测试

热度:16   发布时间:2023-12-17 01:27:45.0
使用fiddler模拟弱网络环境测试
  1. 在工具栏中找到Rules,再到Rules列表中找到Customize Rules。在弹出的文本编辑器中使用Ctrl+F使用搜索功能搜索关键字:simulate,定位到如下代码段:

    if (m_SimulateModem) {// Delay sends by 300ms per KB uploaded.oSession["request-trickle-delay"] = "300"; // Delay receives by 150ms per KB downloaded.oSession["response-trickle-delay"] = "150"; 
    }
    

request-trickle-delay代表的是你网络请求的延迟时间,response-trickle-delay代表的是网络响应的延迟时间,单位都是毫秒,这里默认给的是300毫秒和150毫秒,所以,只需要修改这2个值即可模拟网络延迟和弱网络环境了,比如可以修改上述2个值为:2000和2000,代表网络请求延迟2秒,网络响应延迟2秒:

	if (m_SimulateModem) {// Delay sends by 300ms per KB uploaded.oSession["request-trickle-delay"] = "2000"; // Delay receives by 150ms per KB downloaded.oSession["response-trickle-delay"] = "2000"; }

改完之后按Ctrl+S保存

  1. 接下来就可以开启网络延迟了,还是我们的Rules功能中,找到Performance,然后在子选项中可以看到一个Simulate Modems Speeds,选中它,网络延迟已经开启,如果需要关闭网络延迟,再次点击即可。

  2. 可能我们在测试中不会想要一个一直虚弱的网络环境,而是随机强弱的网络,这样比较贴切我们的真实情况,那么我们可以修改上述代码为:

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

这里的randInt(1,2000)很好理解,代表1-2000中的一个随机整数,这样就会出现偶尔有延迟偶尔网络又良好的情况。