如何用fiddler进行弱网测试(工作常用篇)
弱网测试是模拟低带宽、高延迟、高丢包率、网络抖动等网络质量差的环境,对移动应用、Web 应用、物联网设备等对象进行测试,以发现性能问题、验证功能完整性、评估可靠性并优化用户体验,常借助 Charles、Fiddler 等网络模拟工具、硬件设备或移动设备模拟器来实施。
弱网测试主要关注的点为在网络情况不好的情况下,应用的响应请求时间、页面渲染呈现、接口超时提示、超时是否会重连等等,还要注意数据请求提交问题,比如说弱网情况下接口的请求响应时间较长,通过前端按钮点击是否会出现多次请求的场景,如果有,就得注意数据提交问题,不然可能会导致数据提交重复的问题出现
这里介绍两种工作中最常用的弱网测试的方法!
1. 使用Fiddler进行弱网测试
1.1 开启Fiddler的弱网功能
打开fiddler,勾选左上角Rules->Performance->Simulate Modem Speed。然后观察左边的接口请求情况,会发现此时网络速度变慢了,说明弱网功能开启了(默认情况下fiddler已设置了弱网参数)
1.2 弱网参数调整
这里介绍两个入口
入口1:点击左上角Rules->Customize Rules
入口2:从工具栏的FiddlerScript进入
然后下拉找到这段代码,或者可以直接通过m_SimulateModem字段检索
这段代码的意思是若m_SimulateModem
为true,即fiddler开启的弱网模式。
oSession["request-trickle-delay"] = "300";
:oSession
代表当前正在处理的 HTTP 会话。request-trickle-delay
是 Fiddler 的一个会话属性,用于设置请求数据上传时的延迟时间。这里将其值设为 "300"
,意味着每上传 1KB 的数据,会额外增加 300 毫秒的延迟。
oSession["response-trickle-delay"] = "150";
:同样,response-trickle-delay
是设置响应数据下载时的延迟时间的会话属性。将其值设为 "150"
,表示每下载 1KB 的数据,会额外增加 150 毫秒的延迟。
如果要模拟2G网络或3G网络,相应的调整上述两个配置即可
(以下参数提供参考)
2G网络:
oSession["request-trickle-delay"] = "1000"
oSession["response-trickle-delay"] = "500"
3G网络:
oSession["request-trickle-delay"] = "20"
oSession["response-trickle-delay"] = "10"
1.3 fiddler Capturing开关
fiddler左下脚会显示一个Capturing
,当Capturing
显示时,说明开启了抓包,如果不显示,则说明关闭抓包
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
这里讲这个的原因是,如果我们只想抓手机的包时,可以将Capturing
关掉,此时fiddler抓的包就是手机上的了(大前提是关闭前需要确保fiddler已经能抓手机的包了),这样就能过滤掉电脑抓的包了
2. Chrome浏览器开发者工具弱网测试
Chrome浏览器打开开发者工具,点击Network->No throttling,可以根据需要选择快4G、慢4G、3G、在线等…还可以自定义请求速率