流量测试是app测试中比较重要的一项,因为现在的流量实在太贵了,而且各种助手都会统计你的使用流量情况,一旦你使用的过多,就可能会被卸载。
流量测试,我们可以在低、中、高三种负荷情况下进行测试:
-
低负荷:应用切到后台或锁屏状态;
-
中负荷:应用正常操作;
-
高负荷:应用极限操作,如下载;
那么针对三种负荷,我们可以选择如下场景进行测试:
-
app首次启动后流量
-
app后台或锁屏连续运行一段时间的流量
-
app常规操作的流量均值(可以参照umeng点击事件来设计用例)
-
app高负荷运行的流量均值和峰值(下载)
流量测试的方法一般有3类:
-
读取手机的文件来获取流量,需要自己写脚本
-
使用tcpdump +wireshark相结合的方法
-
使用第三方工具(各种工具原理不明,下文会做比较分析)
方法一:
通过tcp_rcv (接收的数据信息)和 tcp_snd(发送的数据信息)来获取流量;
1 首先获得app的uid:
每当设备上安装一个软件,就会在手机的proc/uid_stat文件夹下生成个uid的目录,放置流量文件。如图,我在安装了app并启动产生流量后,就会生成该文件夹。
当然,可以通过一下命令能获取app的uid
adb shell dumpsys package | grep packageSetting | grep {$packageName}
我们还可以通过一下命令来获取uid:
adb sh