APP模拟弱网测试

来源:互联网 发布:福布斯网络作家富豪榜 编辑:程序博客网 时间:2024/06/02 19:12
弱网

介绍:

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。

Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler会自动设置代理, 退出的时候它会自动注销代理,这样就不会影响别的程序。不过如果Fiddler非正常退出,这时候因为Fiddler没有自动注销,会造成网页无法访问。解决的办法是重新启动下Fiddler.


Fiddler抓包及分析:

打开Fiddler,如下图所示


1.配置Fiddler,充许“远程连接”

在菜单tool -->Fiddler Options -->Connections -->Allow remote computers to connect(允许远程计算机连接) 选中,之后重启一下Fiddler。


2. 获取Fiddler所在机器的IP地址

使当前打开无线网卡,连接无线网络,然后查看当前PC的IP,通过ipconfig查找,如下图所示,查到的结果是192.168.1.114。


3.手机上配置Fiddler为代理

使手机连上无线网卡,连接无线网络,并与PC连接同一个WIFI热点,连上之后,在设置-->WLAN -->长按当前连接的网络-->修改网络 -->显示高级,如下图所示,代理设置:手动;代理服务器主机名:步骤2中查出的IP(192.168.1.114),端口:8888,然后点击“保存”。

4.模拟弱网

1、修改弱网参数

Fiddler -->Customize Rules(自定义规则),点击,弹出CustomRules.js文件,此文件位于:位于: C:\Documents and Settings\[your user]\My Documents\Fiddler2\Scripts\CustomRules.js 下,找m_SimulateModem这个字,你会找到下面这段:


[javascript] view plaincopy
  1. if (m_SimulateModem) {  
  2.     // Delay sends by 300ms per KB uploaded.  
  3.     oSession["request-trickle-delay"] = "300";   
  4.     // Delay receives by 150ms per KB downloaded.  
  5.     oSession["response-trickle-delay"] = "150";   
  6. }  

这就是Fiddler 模拟网路速度的原理,每上传/下载1KB 要delay 多久…其中,request是请求(上传),response是返回(下载),如果习惯用kbps 去算的话,那么我们的算法就是 8*1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s  需要delay200毫秒来接收数据。

计算过程:1KB传送需要延时300ms ,那么1S可以传送 8*1000/300 Kb,需要延时300ms,那么要1S传送2.7Kb, 将延时:2962ms

2G的上传速率为:2,7Kbs下载速率为:9.6Kbs 所以此处设置:2962 ms 与833 ms,代码如下:

[javascript] view plaincopy
  1. if (m_SimulateModem) {  
  2.      // Delay sends by 300ms per KB uploaded.  
  3.      oSession["request-trickle-delay"] = "2962";   
  4.      // Delay receives by 150ms per KB downloaded.  
  5.      oSession["response-trickle-delay"] = "833";   
  6.  }  

2、确定设定的参数

设置完之后,记得再到Rules → Performances → Simulate Modem Speeds 勾选

5.停掉PC与手机上面通上网的应用

把PC与手机上面上网的进程杀掉,如果上网的应用太多了,那网速肯定也会受到影响,这样出来的报告,就会不准确。

6.进行抓包

在手机上面打开要测试的应用或者网页,就会在fiddler中有相应的记录,如下图所示。


点击其中一条记录,在右侧的statistics中就会显示当前界面相应数据。bytes Sent 是指发送的请求数,Bytes Received:返回的数据量,Overall Elapsed:总耗时。


转载地址:http://blog.csdn.net/leiya172/article/details/38438915

原创粉丝点击