Android 流量測試方法
寫在前面
有同學說,我有大王卡…
也有同學說,我有天神卡…
還有同學在鄙視,我流量不限量…
然而,總有同學是這樣的
So,流量測試,還是很有必要的
流量測試怎麼測?
下面我們就介紹幾種方法:
一、通過pid獲取流量
獲取應用的pid
adb shell ps | grep packagename
通過pid獲取該進程的流量信息
adb shell cat /proc/"+Pid+"/net/dev"
計算wlan0,所有列上傳和下載的流量之和
這裡的wlan0代表wifi 下載上傳所有數據,數值單位是位元組,可以/1024換算成KB
註:由於pid只在app進程啟動時才能獲取,對獲取app啟動流量不太方便,多進程應用需要多個pid結果之和。
GIF
二、通過userId獲取流量
獲取應用的userId
adb shell dumpsys package packageName | findstr userId
通過uid獲取流量
adb shell cat /proc/net/xt_qtaguid/stats | findstr userId
計算wlan0行,第6列和第8列的和
與方法一不同的是,這裡第6列和第8列,分別代表下載與上傳
註:通過userId還有另一種方法
adb shell cat /proc/uid_stat/userId /tcp_rcv
adb shell cat /proc/uid_stat/userId /tcp_snd
可分別獲取下載和上傳流量,適用Android 早期版本,但不能區分移動流量和wifi流量
三、通過tcpdump和wireshark計算流量
root機型下,把tcpdump工具push到sd卡
使用tcpdump命令,監控測試期間的流量,並生成pcap文件
導出pcap文件,並使用wireshark打開
過濾被app有關的數據,求和計算
註:此種方法計算相對比較準確,但操作有點複雜,不再具體舉例。
同志們,我最後再說兩句啊
方法不難但一個命令一個命令的執行下來,也很「藍瘦」啊,所以我們或許可以寫個腳本來實現個一條龍服務
當然,這只是個拋磚引玉,後面就靠你自己了
就醬紫,加油!
搜狗測試
沒時間解釋了,快長按左邊二維碼關注我們~~
※來一組腦筋急轉彎,你能答上幾個?
※小白學Android之項目構成
TAG:搜狗測試 |