弱网测试背景:
实际的客户现场可能网络不稳定或者网速低,恶劣的网络环境会导致出现一些bug,测试环境以及开发环境网络比较顺畅难以复现这种bug。要解决这种问题,就需要制造弱网络的环境进行测试、复现并修复问题。
使用Fiddler模拟弱网环境:
Fiddler 是一个 HTTP 调试代理,它能够记录所有你电脑和互联网之间的 HTTP 通讯,Fiddler 也可以让你检查所有的 HTTP 通讯,设置断点,以及修改所有的“进出”的数据(指Cookie/HTML/JS/CSS 等文件)。
利用Fiddler来模拟恶劣的网络环境,实现简单,较为直观,缺点是只能支持那些利用HTTP进行通信和交互的服务。
方法一:打开fiddler,默认情况下Rules –> Performances –> Simulate Modem Speeds 是未勾选状态,网络正常。当选中此选项(模拟光猫网速)后,网速就会变很慢,打开一个网页要加载很久。这样就实现了弱网络效果。
方法二:实现随机延时
点击Rules – Customize Rules(快捷键Ctrl + R)打开Fiddler ScriptEditor,或者直接点开右侧主页签的FiddlerScript。查找到if (m_SimulateModem)语句,修改代码。下面的脚本实现了一个随机延时量设置,使得网络带宽不是恒定为一个低速的值,而是会在一定范围内随机抖动:
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);
}
上面两种方法选其一,修改后保存配置文件(Ctrl+S)或者清掉缓存(Rules –> Performances –>Disable Caching),再次勾选Rules –> Performances –> Simulate Modem Speeds 进行测速。注意:每次编辑并保存配置文件后,Simulate Modem Speeds选项会被取消,请重新勾选。
限速完毕一定要取消勾选,不然会影响上网。像第二种方法由于请求和响应都延迟3秒,会导致访问网页很慢。
参考文档https://www.jianshu.com/p/b9e349b8f411