android性能测试 app 实时流量获取

article/2025/10/24 2:42:13

下面介绍几种获取app流量的统计规则:

分析方法D

 ①如何获取uid?

 1.先获取进程pid (adb shell ps |findstr 包名)

 2.进入到proc/pid/status 文件中

C:\Users\chenhui>adb shell
PD1816:/ $ cd proc/
PD1816:/proc $ cd 20814
PD1816:/proc/20814 $ cd status
/system/bin/sh: cd: /proc/20814/status: Not a directory
2|PD1816:/proc/20814 $ cat status
Name:   aozh.iReader.dj
State:  S (sleeping)
Tgid:   20814
Pid:    20814
PPid:   996
TracerPid:      0
Uid:    12912   12912   12912   12912
Gid:    12912   12912   12912   12912
Ngid:   0
FDSize: 1024
Groups: 3002 3003 9997 22912 52912
VmPeak:  2600288 kB
VmSize:  2284916 kB
VmLck:         0 kB
VmPin:         0 kB
VmHWM:    454092 kB
VmRSS:    317620 kB
VmData:   492016 kB
VmStk:      8192 kB
VmExe:        24 kB
VmLib:    162604 kB
VmPTE:      2468 kB
VmPMD:        16 kB
VmSwap:     4752 kB
Threads:        205
SigQ:   1/21806
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000001204
SigIgn: 0000000000000001
SigCgt: 00000006400086f8
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000000000000000
CapAmb: 0000000000000000
Seccomp:        2Speculation_Store_Bypass:       unknown
Cpus_allowed:   ff
Cpus_allowed_list:      0-7
Mems_allowed:   1
Mems_allowed_list:      0
voluntary_ctxt_switches:        22752
nonvoluntary_ctxt_switches:     3041
PD1816:/proc/20814 $

②但是方法D中我们现在的华为、OPPO等高端机中proc系统文件中找不到uid_stat

分析方法E

方法E中我们现在的华为、OPPO等高端机中proc系统文件中找不到xt_qtaguid

若设备使用的是WiFi,则取第2列的值为“wlan0”的第6列的值相加为当前app的下载流量统计;

第8列的值相加为当前app的上传流量统计

C:\Users\chenhui>adb shell "cat /proc/net/xt_qtaguid/stats |grep 12912"
100 wlan0 0x0 12912 0 2456833 3078 524138 3195 2454245 3041 0 0 2588 37 524138 3195 0 0 0 0
101 wlan0 0x0 12912 1 386386297 287026 14115763 189232 386381873 286965 0 0 4424 61 14115763 189232 0 0 0 0
110 wlan0 0xa00500000000 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
111 wlan0 0xa00500000000 12912 1 99440 173 29904 233 99440 173 0 0 0 0 29904 233 0 0 0 0
128 wlan0 0x3494e3bf00000000 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
129 wlan0 0x3494e3bf00000000 12912 1 66397 93 11360 111 66397 93 0 0 0 0 11360 111 0 0 0 0
148 wlan0 0xe9970c8000000000 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
149 wlan0 0xe9970c8000000000 12912 1 3305 45 55154 36 3305 45 0 0 0 0 55154 36 0 0 0 0
182 lo 0x0 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
183 lo 0x0 12912 1 8250787 1134 8250995 1138 8250787 1134 0 0 0 0 8250995 1138 0 0 0 0

若设备使用的是SIM联网,则取第2列的值为“rmnet_data1”的第6列的值相加为当前app的下载流量统计;第8列的值相加为当前app的上传流量统计

C:\Users\chenhui>adb shell "cat /proc/net/xt_qtaguid/stats | grep 12912"
82 rmnet_data1 0x0 12912 0 12650 22 5107 23 12650 22 0 0 0 0 5107 23 0 0 0 0
83 rmnet_data1 0x0 12912 1 6817945 4636 442095 4175 6817945 4636 0 0 0 0 442095 4175 0 0 0 0
86 rmnet_data1 0xa00500000000 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
87 rmnet_data1 0xa00500000000 12912 1 5191 11 1517 14 5191 11 0 0 0 0 1517 14 0 0 0 0
90 rmnet_data1 0x3494e3bf00000000 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
91 rmnet_data1 0x3494e3bf00000000 12912 1 3348 4 541 5 3348 4 0 0 0 0 541 5 0 0 0 0
188 wlan0 0x0 12912 0 7835694 7452 855519 6701 7832698 7409 0 0 2996 43 855519 6701 0 0 0 0
189 wlan0 0x0 12912 1 393639609 293035 14856894 194340 393635105 292973 0 0 4504 62 14856894 194340 0 0 0 0
198 wlan0 0xa00500000000 12912 0 5099 9 1394 12 5099 9 0 0 0 0 1394 12 0 0 0 0
199 wlan0 0xa00500000000 12912 1 104499 181 31258 244 104499 181 0 0 0 0 31258 244 0 0 0 0
220 wlan0 0x3494e3bf00000000 12912 0 3458 5 581 6 3458 5 0 0 0 0 581 6 0 0 0 0
221 wlan0 0x3494e3bf00000000 12912 1 71363 104 12987 126 71363 104 0 0 0 0 12987 126 0 0 0 0
242 wlan0 0xe9970c8000000000 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
243 wlan0 0xe9970c8000000000 12912 1 4885 68 82992 55 4885 68 0 0 0 0 82992 55 0 0 0 0
278 lo 0x0 12912 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
279 lo 0x0 12912 1 8250787 1134 8250995 1138 8250787 1134 0 0 0 0 8250995 1138 0 0 0 0

注意以上每次打印的值都是当前app累计流量使用值;如果需要查看每秒钟app使用的流量数需要间隔1s分别计算当前app的上传流量&下载流量,并将2次上传和2次下载流量各自相减;

分析方法B

①获取到pid

1.先获取进程pid (adb shell ps |findstr 包名)

2.进入到/proc/pid/net/dev

若设备使用的是SIM联网,则取第1列的值为“rmnet_ipa0”的第2列的值下载流量统计;第10列的值为当前app的上传流量统计

C:\Users\chenhui>adb shell ps |findstr com.chaozh.iReader.dj
u0_a2912     26304   996 2345824 324444 0                   0 S com.chaozh.iReader.djC:\Users\chenhui>adb shell
PD1816:/ $ cd /proc/26304/net
PD1816:/proc/26304/net $ ls
anycast6           icmp                ip_tables_matches nf_conntrack_expect rt6_stats     tcp
arp                icmp6               ip_tables_names   packet              rt_cache      tcp6
arp_tables_matches if_inet6            ip_tables_targets pfkey               sco           udp
arp_tables_names   igmp                ipt_hashlimit     pnp                 sla_log_level udp6
arp_tables_targets igmp6               ipv6_route        pppoe               sla_tcp_info  udplite
bonding            ip6_flowlabel       l2cap             pppol2tp            sla_tcp_stat  udplite6
dev                ip6_tables_matches  mcfilter          protocols           snmp          unix
dev_mcast          ip6_tables_names    mcfilter6         psched              snmp6         wireless
dev_snmp6          ip6_tables_targets  netfilter         ptype               sockstat      xfrm_stat
fib_trie           ip6t_hashlimit      netlink           raw                 sockstat6     xt_qtaguid
fib_triestat       ip_conntrack        netstat           raw6                softnet_stat  xt_quota
hci                ip_conntrack_expect nf_conntrack      route               stat
PD1816:/proc/26304/net $ cat dev
Inter-|   Receive                                                |  Transmitface |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
ip_vti0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data6:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0sit0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data7:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0lo: 154760401   20782    0    0    0     0          0         0 154760401   20782    0    0    0     0       0          0
r_rmnet_data5:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data4:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
dummy0:       0       0    0    0    0     0          0         0     2660      38    0    0    0     0       0          0
ip6_vti0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data4:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data3:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0wlan0: 7677506219 10137009    0    0    0     0          0         0 266420112 3046370    0   23    0     0       0          0
rmnet_data0:    4552      58    0    0    0     0          0         0     4018      44    0    0    0     0       0          0
r_rmnet_data3:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
ip6tnl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_ipa0: 53214950   16347    0    0    0     0          0         0  2893836   27721    0    0    0     0       0          0p2p0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data2:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0bond0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data6:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data5:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data2:  579080    1445    0    0    0     0          0         0   248432    1523    0    0    0     0       0          0
r_rmnet_data8:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data1: 52111442   41811    0    0    0     0          0         0  2641386   26154    0    0    0     0       0          0
r_rmnet_data7:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
PD1816:/proc/26304/net $

若设备使用的WiFi联网,则取第1列的值为“wlan0:”的第2列的值下载流量统计;第10列的值为当前app的上传流量统计

C:\Users\chenhui>adb shell
PD1816:/ $ cd proc
PD1816:/proc $ cd 26304
PD1816:/proc/26304 $ ls
ls: ./cwd: Permission denied
ls: ./root: Permission denied
ls: ./exe: Permission denied
attr      clear_refs      cpuset  io        mem        net       oom_score_adj sched                schedstat statm   time_in_state
autogroup cmdline         environ limits    mountinfo  ns        pagemap       sched_group_id       smaps     status  timerslack_ns
auxv      comm            fd      map_files mounts     oom_adj   personality   sched_init_task_load stack     syscall virt
cgroup    coredump_filter fdinfo  maps      mountstats oom_score reclaim       sched_wake_up_idle   stat      task    wchan
1|PD1816:/proc/26304 $ cd net
PD1816:/proc/26304/net $ cat dev
Inter-|   Receive                                                |  Transmitface |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
ip_vti0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data6:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0sit0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data7:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0lo: 154760401   20782    0    0    0     0          0         0 154760401   20782    0    0    0     0       0          0
r_rmnet_data5:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data4:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
dummy0:       0       0    0    0    0     0          0         0     2660      38    0    0    0     0       0          0
ip6_vti0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data4:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data3:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0wlan0: 7688486290 10146181    0    0    0     0          0         0 267426741 3054418    0   23    0     0       0          0
rmnet_data0:    4552      58    0    0    0     0          0         0     4018      44    0    0    0     0       0          0
r_rmnet_data3:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
ip6tnl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_ipa0: 53290118   16560    0    0    0     0          0         0  2951245   28076    0    0    0     0       0          0p2p0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data2:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0bond0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data6:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data5:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
r_rmnet_data0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data2:  579080    1445    0    0    0     0          0         0   248432    1523    0    0    0     0       0          0
r_rmnet_data8:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
rmnet_data1: 52182746   42133    0    0    0     0          0         0  2698795   26509    0    0    0     0       0          0
r_rmnet_data7:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
PD1816:/proc/26304/net $

注意以上每次打印的值都是当前app累计流量使用值;如果需要查看每秒钟app使用的流量数需要间隔1s分别计算当前app的上传流量&下载流量,并将2次上传和2次下载流量各自相减;


http://chatgpt.dhexx.cn/article/R3TOtp0w.shtml

相关文章

安卓app测试之流量监控

一、查看PID 通过ps命令查看:ps | grep packageName 案例:adb shell "ps | grep tv.danmaku.bili" adb shell "ps | grep tv.danmaku.bili$" 二、查看UID 1、通过查看packages.list adb shell cat /data/system/packages.list |…

Android的app性能测试--流量

测试场景:在手机上面点击想要测试的界面或者一组场景,然后查看用了多少流量。 方法一:使用流量测试的工具:1.tcpdump抓包 2 wireshark进行分析 tcpdump介绍:tcpdump是一款用于截取网络分组,并输出分组内容的…

APP性能测试:启动时间、CPU、耗电量、流量、内存

app的启动与停止 启动app的命令:adb shell am start -n packageName/activity 查看被测应用app的包名和活动名activity的命令: adb shell "dumpsys window | grep mCurrentFocus" 这里以调出系统通讯录为例。 查看app启动时间命令&#x…

Charles 流量配置(弱网测试)、断点调试

一、流量配置 流量配置主要是用来检测软件(APP)在不同的网络环境下的一个表现,例如出现丢包闪退等情况. 流量配置主要有以下四步: 在 Charles 窗口中点击菜单 “Proxy” ,选择 "Throttle Setting" 进行网络…

APP测试内容 -- 流量测试常见测试方法

APP测试内容 -- 流量测试常见测试方法 大部分摘自:https://blog.csdn.net/baidu_21833433/article/details/63255182#commentBox 一、Android自带统计功能(统计流量总数值) proc/uid_stat/{UID}/tcp_snd和tcp_rcv UID是每个app安装时候分配的…

app性能测试:(三)流量监控

app性能测试:(三)流量监控 下面对流量监控进行分析: 获取进程ID指令 adb shell “ps | grep 包名”获取进程ID流量adb shell cat /proc/pid/net/dev pid换成第一步获取到的进程ID receive是指当前进程接收的数据,tra…

APP的流量测试(android和iOS的流量测试)

1、准备 性能测试工具—fiddler、电脑、Google浏览器、手机、无线(手机需要和电脑在一个网段里) 2、知识点 1)掌握fiddler工具安装(这个相对比较简单,大家百度进行安装即可) 也可以访问这个网页进行下载…

自动化测试之流量回放技术

流量回放近几年一直是大家热衷讨论的话题,具体的效果智者见智。文章作者也是在技术工程领域有丰富的实践经验,推荐一看。 本篇背景是另外一同事朋友,最近在利用流量回放技术应用在服务端接口自动化测试方面,还在各部门全力推进阶段…

数据流测试

一、基本概念 定义节点 -- DEF(v,n) 使用节点 -- USE(v,n) 谓词使用 -- P-use 计算使用 -- C-use 定义-使用路径 -- du-path 定义-清除路径 -- dc-path 全定义覆盖准则:测试路径需要覆盖所有定义点和任意一个使用点,用dc-path扩展…

app性能测试--流量

测试场景:在手机上面点击想要测试的界面或者一组场景,然后查看用了多少流量。 方法一:使用流量测试的工具:1.tcpdump抓包 2 wireshark进行分析 tcpdump介绍:tcpdump是一款用于截取网络分组,并输出分组内容的…

APP性能测试——流量测试(二)

续上文:APP性能测试--流量测试(一),上篇文章介绍了如何通过代理工具抓网络请求,通过代理抓包我们可以抓到http和https请求的详细信息,由于代理我们需要连接wifi,很难抓取到4G网络下的流量值;今天介绍一下如…

App性能测试之流量监控

下面对流量监控进行分析: 获取进程ID指令adb shell “ps | grep 包名” 获取进程ID流量adb shell cat /proc/pid/net/dev pid换成第一步获取到的进程ID receive是指当前进程接收的数据,transmit是指当前进程发出请求的数据,流量是这两者之和…

性能测试——流量测试

原文资料: http://testerhome.com/topics/2643 http://testerhome.com/topics/2068 ------------------- 流量篇 最近在研究IOS 的性能测试,时间太紧没来得及发帖,加通宵挤出时间给大家分享一点东西,希望对大家有所帮助&#xff0…

App 流量常见测试方法

方法一:Android系统自带统计功能(总体流量数值) Proc/uid_stat/{UID}/tcp_snd和tcp_rcv UID是每个app安装时候分配的唯一编号用于识别该app. tcp_snd:表示发送数据累计大小,单位是字节 tcp_rcv:表示接收…

APP专项测试:流量测试

手机的电量与流量测试主要为了站在用户角度思考,毕竟电量、流量消耗毕竟大,会影响客户的使用感受。手机端电量使用率是和CPU使用率成正比的。 由于这个表现没有毕竟详细的规定,只能给出一个通用的范围,CPU使用率不能超过10%以上&…

APP性能测试——流量测试(一)

写在前面: 第一期主要介绍如何通过anyproxy工具进行流量测试,二期介绍如何通过adb 命令实时监控wifi、4G下的上行以及下行流量值。 app的流量测试是性能测试中重要的指标,也是用户体验的重要部分,目前了解到的有三种方法&#xff…

软件测试简历包装我们会了,但测试人的自我“包装”呢?HR自我介绍包装小技巧【建议收藏】

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法…

软件测试人员应该如何介绍自己测试过的项目

测试人员在找工作的过程中,通常有一个问题是很难绕开的。就是要如何向别人介绍自己之前做过的项目。下面我们就这个问题简单的做一些分析。 要解决这个问题,大体上可以分为如下几个步骤: 1、对项目进行基本介绍 2、说明自己负责测试的模块 …

安装Node出现2502问题

安装nodejs时出现2502/2503错误解决方法 解决方法: 1.以管理员身份运行cmd 2.在cmd中打开msi文件的目录 切换d盘符为: d: 返回上一文件夹:cd … 打开文件夹:cd 文件夹名称 3.执行命令 msiexec /package msi文件名 4.弹出nod…

安装应用程序遇到2503、2502解决办法

原因:主要是权限不够。 方法一:右键,管理员身份运行。 方法二:管理员命令提示符,输入“msiexec /package E:download\SmarTTY.msi”