• APP——流量测试——adb命令简单测试


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

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

    C:Usersdel>

    包名:com.wawj.app.t

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

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

    C:Usersdel>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:Usersdel>

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

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

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

    C:Usersdel>

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

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

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

    adb   shell

    cd  /proc/6724

    cat  status;

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

    C:Usersdel>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且流量值不变化时为准。

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

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

  • 相关阅读:
    洛谷 P2062 分队问题
    CentOS6.8安装GitLab
    restful service+jersey架构
    安装好VMware后,启动CentOS时失败
    开发文档模板
    Java内存模型
    虚拟机字节码执行引擎之方法调用
    虚拟机字节码执行引擎之运行时栈帧结构
    虚拟机类加载机制之类加载器
    虚拟机类加载机制之类的加载过程
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/13284845.html
Copyright © 2020-2023  润新知