无线专项测试--流量测试(上)

针对流量测试,首先要搞明白什么是流量?

流量是指手机上网产生的流量数据,用手机打开软件或进行互联网操作时,会和服务器之间交换数据,手机流量就是指这数据的大小。我们的收集通过运营商的网络访问Internet,运营商替我们的手机转发数据报文,数据报文的总大小(字节数)即流量,这里的数据报文包含手机上下行的报文。由于数据报文采用IP协议传输,运营商计算的流量一般是包含IP头的数据报文大小。

我们使用安卓自身提供的TCP收发长度统计功能

 一般APP和后台服务器之间的通信都是基于TCP的,所以我们可以利用此统计来测试我们APP的流量,而且安卓提供的该统计功能是按照APP纬度来统计的,不需要禁止其他app的连网权限。

操作步骤如下:

1) 使用ps命令查看所测app的uid,   以京东app为例,adb shell ps | findstr jd

u0_a开头的都是Android的应用进程,Android的应用的UID是从10000开始,到19999结束,可以在Process.java中查看到(FIRST_APPLICATION_UID和LAST_APPLICATION_UID),u0_a后面的数字就是该应用的UID值减去FIRST_APPLICATION_UID所得的值,所以,对于com.jingdong.app,它的user是u0_a332,按前面的规制,它的UID就是332 + FIRST_APPLICATION_UID = 10332。所以京东的uid为10000+332=10332。如果对这个uid不放心,还可以进目录查看

 

  

2)获取到app的uid之后,进入/proc/uid_stat/10332目录,cat获取当前tcp_snd和tcp_tcv的初始值

3) 此时可以开始测试了,打开APP之后,点击要测模块,进入tab列,测试完成后再次获取tcp_snd和tcp_tcv的值

 

4)所测时间内的流量计算

发送流量:tcp_snd_new-tcp_snd_old=2636783-2573939=62844bytes

接收流量:tcp_rcv_new-tcp_rcv_old=117147054-114987186=2159868bytes

这个方法没有其他维度的区分,只有统计总数据,我下次再用其他方法测试流量,未完待续……

猜你喜欢

转载自www.cnblogs.com/feimaoyuzhubaobao/p/8994495.html