Android使用Fiddler模拟弱网络环境测试

时间:2023-03-09 07:38:13
Android使用Fiddler模拟弱网络环境测试

原文:https://blog.csdn.net/u010618194/article/details/76652513

1.设置fiddler

顶部Tools-->Connections,把port改为8888,这个时候就可以使用我们的手机代理到电脑上了。

Android使用Fiddler模拟弱网络环境测试

2.设置安卓设备代理

电脑跟手机同一个网络

3.设置网络限制

fiddler-->工具栏中找到Rules-->Customize Rules

在这个文本编辑器中使用Ctrl+F使用搜索功能搜索关键字:simulate,可以找到如下代码段

Android使用Fiddler模拟弱网络环境测试

让我们来分析一下这几行代码:

  • 首先来判断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”]即可。

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

Android使用Fiddler模拟弱网络环境测试

改完之后记得按Ctrl+S保存。

4.开启网络延迟

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

5.扩展弱网络规则

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

 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中的一个随机整数,这样就会出现偶尔有延迟偶尔网络又良好的情况

备注:不同网络环境设置可参考如下图:

Android使用Fiddler模拟弱网络环境测试

iOS手机自带Network Link Conditioner 弱网模拟

https://blog.csdn.net/qq_24373725/article/details/80060609

Fiddler功能介绍之Web抓包、远程抓包教程

https://mp.weixin.qq.com/s/i8u6d8a43Ab5rHciykpmgQ