在不知道包名的情况下,在手机里先打开要测试的APP,执行如下命令:adb    shell    dumpsys    window    w    |findstr   \/     |findstr    name=;获取包名

C:\Users\del>adb shell dumpsys window w |findstr \/ |findstr name=
mSurface=Surface(name=com.wawj.app.t/com.wawj.app.t.ui.MainActivity)

C:\Users\del>

包名:com.wawj.app.t

============================================================================================================================

查询进程:adb shell ps -A |findstr com.wawj.app.t

C:\Users\del>adb shell ps -A |findstr com.wawj.app.t
u0_a145 6724 725 3174200 195496 0 0 R com.wawj.app.t
u0_a145 6919 725 2442904 43432 0 0 S com.wawj.app.t:pushcore

C:\Users\del>

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

执行命令:adb shell ps -Aa                      ——查看抬头

C:\Users\del>adb shell ps -Aa
USER PID PPID VSZ RSS WCHAN ADDR S NAME

C:\Users\del>

---------------------------------------------------------------------------------------------------------------------------------------------------------------

通过上面的操作获取进程号即获取PID:6724

下面再通过PID获取UID,执行如下命令:

adb   shell

cd  /proc/6724

cat  status;

----------------------------------------------

C:\Users\del>adb shell
hwedison:/ $ cd /proc/6724
cd /proc/6724
hwedison:/proc/6724 $ cat status
cat status
Name: com.wawj.app.t
State: S (sleeping)
Tgid: 6724
Ngid: 0
Pid: 6724
PPid: 725
TracerPid: 0
Uid: 10145 10145 10145 10145
Gid: 10145 10145 10145 10145
FDSize: 512
Groups: 3001 3002 3003 9997 20145 50145
VmPeak: 3522984 kB
VmSize: 3060492 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 489140 kB
VmRSS: 170988 kB
VmData: 537636 kB
VmStk: 8196 kB
VmExe: 20 kB
VmLib: 163300 kB
VmPTE: 2092 kB
VmPMD: 32 kB
VmSwap: 153696 kB
Threads: 131
SigQ: 2/14487
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000001204
SigIgn: 0000000000000000
SigCgt: 20000006400094f8
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000000000000000
CapAmb: 0000000000000000
Seccomp: 2
Cpus_allowed: ff
Cpus_allowed_list: 0-7
Mems_allowed: 1
Mems_allowed_list: 0
voluntary_ctxt_switches: 999245
nonvoluntary_ctxt_switches: 692834
hwedison:/proc/6724 $

-------------------------------------------------------------

获得UID:Uid:    10145

==============================================================================

因个人手机没有root获取不到流量情况,下面提供示例参考:

===================================================================================

流量测试的原理:在安卓手机上,应用的网络流量数据都会保存在系统的/proc/uid_stat/$UID/tcp_rcv

/proc/uid_stat/$UID/tcp_snd两个文件夹里面;

一个是请求耗费的流量,一个是接受的数据流量,这两个数据是由系统记录的,在我们启动某个软件的时候,

系统会根据这个应用所占用的进程号pid在根目录下创建一个以这个命名的文件夹,在文件夹的下面有存有UID的文件。

===============================================================================================

场景:

APP性能场景典型的无非三种

首次启动,非首次启动(比如后台运行状态切换),后台运行

1、使用安卓系统自身的TCP流量计数人工计算。

场景举例: 测试某APP首次启动到彻底加载完成的流量消耗,被测包名为com.newsplus.tr

1.1安装被测APP到测试机,不启动APP。

1.2使用adb连接到测试机,

cat /data/system/packages.list | grep com.newsplus.tr

图中10216即为该包UID

1.3使用命令查看当前下行(下载)流量情况

cat /proc/uid_stat/10216/tcp_rcv

(结果中4390单位为bytes,其中10216为我们获取到的UID)

1.4启动APP到APP彻底启动

再次执行执行命令cat/proc/uid_stat/10216/tcp_rcv

1.5 rcv代表上行流量,把tcp_rcv换为snd可以查看上行流量。例子如下

cat/proc/uid_stat/10216/tcp_sed

1.6计算实际tcp上下行流量

(78145-4390)/1024计算出下行(下载)流量的大小单位KB

(25413-4338)/1024计算出上行(上传)流量的大小单位KB

注意:启动APP后的流量记录多尝试几次,当不操作APP且流量值不变化时为准。

该方法优势:简单,容易上手,容易测出对应场景下上下行流量,容易封装为脚本。

该方法劣势:协议限制性,无法进行具体的剖析。

APP——流量测试——adb命令简单测试相关推荐

  1. 利用Android adb命令来测试手机App的耗电量

    使用Android adb命令实现wifi方式连接手机 因为要通过adb命令来监控手机的耗电量,所以建议通过wifi的方式来连接手机,而不是用usb线来连接手机设备.usb方式连接手机会自动给手机充电 ...

  2. 面试必知道的APP测试adb命令

    查看当前连接设备: adb devices 如果发现多个设备: adb -s 设备号 其他指令 查看日志: adb logcat 安装apk文件: adb install xxx.apk 此安装方式, ...

  3. 移动端测试——adb命令

    adb命令 adb (Android Debug Bridge)是 Android SDK 的一个工具,可以通过它来操作Android 设备,是Android App 客户端测试必备的工具. 具有安装 ...

  4. 移动端测试-adb命令

    安卓sdk配置 我这里将androidsdk下载解压到了d:\tools.解压完成后,需要 配置一下 添加一个 环境变量 ANDROID_HOME ,设置值为sdk包解压目录,比如 d:\tools\ ...

  5. APP——功耗测试(耗电测试)——adb命令简单获取分析

    =========================================================================================== C:\Users ...

  6. app功耗测试-adb命令

    耗电量关注点 cpu wifi GPS 间接影响耗电: 手机自带省电机制.wakelock休眠唤醒.弱网 定位场景lbs :重定位 .超时.重试.缓存.服务端保存数据超时.从服务端获取数据 1.查看手 ...

  7. (转)如何用ping 命令简单测试网速

    命令格式: ping ip地址 -l 字节数 注:上面的命令中 l 是字母l,不是数字1 网速等于≈(发送的字节数/返回的时间[毫秒])K字节 以上计算的结果速为字节(byte),不是我们通常说的位( ...

  8. socke5 使用curl 测试_命令行测试WebSocket

    使用命令测试WebSocket Linux环境下,分别使用curl和wscat命令测试websocket连接. 前言 有时候我们需要从后台验证WebSocket连接是否正常,判断防火墙是否开通,反向代 ...

  9. android adb apk包名,ADB命令简单使用--查看包名、activity等

    1.连接设备 adb connect ip 2.查看连接的设备 adb devices 3.安装/卸载Android 应用 adb install packagesname adb uninstall ...

最新文章

  1. JavaScript中的面向对象
  2. 脚本重启nginx进程
  3. 【IP地址の乾坤大挪移】C语言实现“IP地址/数字”互转
  4. 我只是一个程序代码员吗?
  5. JavaScript服务器端开发(函数实参对象arguments使用的几个注意事项)
  6. 如何在Windows上的Git Bash中退出'git diff'的结果? [重复]
  7. Ubuntu下PHP开发环境LAMP搭建
  8. MATLAB+simulink仿真学习
  9. 国标28181: 视频国标28181协议
  10. 怎么判断笔记本显卡性能?笔记本显卡和台式机显卡性能差距大吗
  11. drain open 线与_Open-Drain与Push-Pull
  12. 网络表情NLP(二)︱特殊表情包+emoji识别
  13. 前端开发和后端开发哪个难学
  14. Google Earth Engine(GEE)——Landsat卫星影像重采样提高分辨率
  15. USBISP下载线驱动
  16. linux 恶意软件检测,两款针对Linux系统Rootkit和恶意软件的有用检测工具
  17. 三国志9攻略: 修行、兵法
  18. 关于Springboot中使用Pagehelper说明
  19. ② ESP8266 开发学习笔记_By_GYC 【ESP8266 驱动 ws2812 三原色灯(spi方式 稳定灯光)】
  20. jQuery 一次定时器_史上最全的js、jQuery面试题

热门文章

  1. 矩阵分析: Hilbert行列式
  2. 专题论坛:云计算平台构建与实践论坛
  3. 【台大郭彦甫】Matlab入门教程超详细学习笔记六:高阶绘图(附PPT链接)
  4. bitmap compress 图片压缩 图片文件大小处理
  5. MFC中关于char[]转换成LPCWSTR的问题
  6. [Java] 枚举类型
  7. Lab1过程及心得体会
  8. 计算机网络发展及相关概念
  9. hda vs sda
  10. Android动画详解之Android 动画属性和实现方法之帧动画(二)