Fiddler 弱网测试
1、弱网的影响
- 在地铁、隧道、电梯和车库等场景下使用 APP ,网络会出现延时、中断和超时等情况。
- 如果我们处于网速慢的地段,我们请求某个功能,app 会响应非常慢,页面加载不出来,对于我们测试人员来看,就是用户请求这个 API,API 加载速度比较慢。
- 大家都喜欢刷抖音当我们在地铁上刷抖音,滑到下一个时候突然间就会页面卡住,这也是网络的原因导致的。
- 很多 bug 都会在弱网的情况下展现出来,如由于响应慢而多次请求,最终导致 app 出现 bug 问题。
2、弱网定义
- 现在很多时候 2G 或者在地铁、电梯等场景的 3G 网,均可定义为弱网,下面是常见网络制式的上行、下载速度表,可以参考。
3、设置上传下载速率
- 在 Fiddler Script 选项中查找 uploaded,找到设置网络上传和下载设置值
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"; }
- 分析一下这几行代码:
- 首先来判断 m_SimulateModem 是否为 true,也就是是否设置了弱网模式。
- 如果为弱网模式。则分析代码
- oSession[“request-trickle-delay”] = “300”;注释的也很明白,Delay sends by 300ms per KB uploaded.上传1KB需要300ms,转化一下上传速度:1Kb/0.3s = 10/3(KB/s)
- 如果你想设置上传的速度为50KB/s,你则需要设置 Delay 时间为 20ms(说明设置的数值越小,网速越快)
- 同样的方法,也可以限制上传的速度,调整 oSession[“response-trickle-delay”] 即可。
上传带宽 = 1KB/300ms = (1 * 8/1000) /0.300 ≈ 0.027Mbps 下载带宽 = 1KB/150ms = (1 * 8/1000) /0.150 ≈ 0.053Mbps (1MB = 1024 KB ≈ 1000 KB 这里为了运算简便就用了1000的倍数,忽略误差)
4、打开 Fiddler 中开关
- Rules(规则) --> Performance(性能) --> 勾选 Simulate Modem Speeds(模拟调制解调器速度)
- 接下来就可以去打开浏览器试试网络了
5、Rules 选项中选项解释
- Hide Image Requests -- 隐藏图片请求
- Hdie HTTPS CONNECTs -- 隐藏HTTPS请求
- Automatic Breakpoints -- 自动设置断点
- Before Requests -- 在请求前设置断点,快捷键F11
- After Response -- 在响应后设置断点,快捷键Alt + F11
- Disabled -- 不自动设置断点,快捷键Shift + F11
- Ignore Images -- 自动设置断点是忽略图片
- Customize Rules -- 自定义规则
- Require Proxy Authentication -- 需要代理密码验证
- Appiy GZIP Encoding -- 应用GZIP压缩
- Remove ALL Encoding -- 移除所有编码
- Hide 304s -- 隐藏所有状态为304(无变更)的请求
- Request Japanese Content -- 请求日文内容
- User-Agents -- 选择用户web客户端代理类型,包括了目前主流的浏览器
- Performance -- 性能
- Simulate Modem speeds -- 模拟调制解调器速度
- Disable Caching -- 禁止缓存
6、同样的接口,开启弱网前后分别运行一次,查看统计数据。
作者:Evan0813
微信:ZhengYing8887
出处:https://www.cnblogs.com/ZhengYing0813/
备注:本文版权归作者所有,欢迎转载和添加作者微信探讨技术,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。