使用Fiddler对手机App应用进行抓包,可以对App接口进行测试,也可以了解App传输中流量使用及请求响应情况,从而测试数据传输过程中流量使用的是否合理。这篇文章就带大家了解一下抓包过程。
01、Fiddler设置
1、启动Fiddler->Tools->Fiddler Options
2、HTTPS选项卡中,设置如下,勾选过程中如有弹窗允许即可
Connections选项卡中,勾选Allow remote computers to connect,勾选时如有弹窗确定即可;
Fiddler listens on port:8888是监控端口
02、手机设置
1、手机和电脑连同一个WiFi;
2、通过ipconfig查看计算机IP地址;
例如:本机IP地址为:192.168.9.150;
打开手机无线网络,选择连接的WiFi,设置代理,IP输入192.168.9.150,端口:8888;
3、手机浏览器访问:192.168.9.150:8888,出现响应页面说明连接成功,点击响应界面中的“fiddlerRoot certificate”安装证书,然后就可以操作App通过Fiddler进行抓包了。
可以在Fiddler Statistics中查看各个请求发送和接受数据大小及传输时间。
03、fiddler模拟限速的原理
我们可以通过fiddler来模拟限速,因为fiddler本来就是个代理,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里面自定义一些逻辑。Fiddler的模拟限速正是在客户端请求前来自定义限速的逻辑,此逻辑是通过延迟发送数据或接收数据的时间来限制网络的下载速度和上传速度,从而达到限速的效果。
他提供了一个功能,让我们模拟低速网路环境;启用方法如下:
Rules → Performances → Simulate Modem Speeds :模拟调制解调器的速度
启动fiddler需要进行如下设置:
-
设置端口号:
allow remote computers to connect “允许远程计算机连接”为设置的代理可以连接到fiddle上,必须勾选
-
重启fiddle;
-
设置模拟调制解调器的速度:
-
设置手机代理
手机代理设置“ip地址为本机的ip,端口号为之前设置的端口号(确保端口号不被占用)” -
手动设置设置上行,下行速率
模拟网路速度的原理,每上传/下载1KB 要delay 多久
网络取值的算法就是 1000/下载速度 = 需要delay的时间(毫秒),比如50kb/s 需要delay200毫秒来接收数据。
查找代码如下:
if (m_SimulateModem) {
请注意:当你存档之后,原本已经勾选的SimulateModem Speeds 会被取消勾选,要记得再次勾选喔!(Rules → Performances → Simulate Modem Speeds)
-
设置完成后,清空原有的log,并使用你的app进行弱网条件下的操作,
选择第一个请求和最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图表中还可以分别出哪些请求耗时最多,从而对页面的访问进行访问速度优化
如下图:
不同请求耗时多少的图形表,获取那种资源耗时最大,进而进行优化;
如下图:
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。