51Testing软件测试论坛

标题: app 性能测试--弱网 [打印本页]

作者: 听海——sky    时间: 2018-3-28 14:30
标题: app 性能测试--弱网
介绍:
Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,
设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大的帮助。

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



Fiddler抓包及分析:
打开Fiddler,如下图所示

[attach]112375[/attach]



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

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


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

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


3.手机上配置Fiddler为代理

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

1、修改弱网参数

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



  1. [javascript] view plaincopy

  2. if (m_SimulateModem) {  
  3.     // Delay sends by 300ms per KB uploaded.  
  4.     oSession["request-trickle-delay"] = "300";   
  5.     // Delay receives by 150ms per KB downloaded.  
  6.     oSession["response-trickle-delay"] = "150";   
  7. }
复制代码


这就是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,代码如下:

  1. [javascript] view plaincopy

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

2、确定设定的参数

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

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

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

6.进行抓包

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

[attach]112379[/attach]

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







欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2