• monkey命令


    查看设备连接: adb devices
    查看包名:adb shell pm list packages -3
    adb shell monkey -p 包名 --throttle 100 --pct-touch 70 --pct-motion 5 --pct-nav 0 --pct-trackball 0 --pct-majornav 5 --ignore-crashes --ignore-timeouts --pct-appswitch 10 --pct-syskeys 5 -v-v-v 100 >monkey_log.txt
     
     
    查看指定包名的进程
    adb shell ps | grep "包名"
    启动acitvity:
    adb shell am start -n 包名/具体activity
    查看activity:
      1> adb shell pm list packages                                         列出所有的包名(不知道包名的情况,需要执行查找包名)appPackage
      2> adb shell dumpsys package XXX                               查看某个包的具体信息(前提是需要知道包名是什么)      appActivity
      3> adb shell dumpsys activity | grep mFocusedActivity  查看当前resume的是哪个activity 
      4> adb logcat | grep ActivityManager                              查看当前正在运行的Activity
      5> adb logcat | grep Displayed                                        查看当前正在运行的Activity
    获取activity名:adb shell dumpsys activity activities >log.txt 
    1)打开APP。 
    2)执行> adb logcat>D:/log.txt 
    3)胡乱的对APP做一些操作。 
    4) Ctrl+c 结束adb命令。 
    5)打开log.txt文件,搜索:Displayed
     
    指定包名强杀:
    adb shell am force-stop 包名
     
    查看相应项目cpu:
    adb shell top |grep 包名l+
    查看全部项目cpu:adb shell top
     
    电量:
    首先需要将手机切换到非充电状态,使用命令:adb shell dumpsys battery set status 1
    (adb shell dumpsys battery set status 2:是将手机切回充电状态)
    然后使用命令:adb shell dumpsys battery 获取手机电池信息
    获取某个apk的电量消耗信息: adb shell dumpsys batterystats com.Package.name | more
     
    FPS (应用的使用流畅度):
    FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会愈流畅。
    ´一般来说,Android设备的屏幕刷新率为60帧/s,要保持画面流畅不卡顿,要求每一帧的时间不超过1000/60=16.6ms,这就是16ms的黄金准则,如果中间的某些帧的渲染时间超过16ms,就会导致这段时间的画面发生了跳帧,因此原本流畅的画面变发生了卡顿。
     
    测试方法:
    1、adb命令
    1)打开手机:开发者选项—>profile GPU rendering —> in adb shell dumpsys gfxinfo
    2) 操作要测试的apk
    3) cmd窗口输入命令: adb shell dumpsys gfxinfo packageName
    4) 得到一个矩阵数据,计算矩阵中帧率大于16的点所占比例,即为卡顿比
    含义:
    Draw: 表示在Java中创建显示列表部分中,OnDraw()方法占用的时间。
    Process:表示渲染引擎执行显示列表所花的时间,view越多,时间就越长。
    Execute:表示把一帧数据发送到屏幕上排版显示实际花费的时间。
    Draw + Process + Execute = 完整显示一帧 ,这个时间要小于16ms才能保存每秒60帧。
    5)通过execl进行表格处理可以直观的查看软件的流畅度
     
    运行过程中杀掉monkey进程:
    adb shell      这句话的意思是连接到手机终端,很多人也知道
    输入这个命令
    ps | grep monkey      ps 的意思是查询所有进程信息   后面的意思是筛选monkey的进程信息
    第三步:杀死进程
    adb shell kill PID   这样monkey就关闭了
     
     
    事件参数: --pct-{+事件类别}{+事件类别百分比}:
    用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)
    示例:
    --pct-touch{+百分比}
    调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)
    adb shell monkey -p cn.emoney.acg --pct-touch 10 1000
     
    --pct-motion {+百分比}
    调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随件机事和一个up事件组成)
    adb shell monkey -p cn.emoney.acg --pct-motion 20 1000
     
    --pct-trackball {+百分比}
    调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)
    adb shell monkey -p cn.emoney.acg --pct-trackball 30 1000
     
    --pct-nav {+百分比}
     
    调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)
    adb shell monkey -p cn.emoney.acg --pct-nav 40 1000
     
    --pct-majornav {+百分比}
    调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
    adb shell monkey -p cn.emoney.acg --pct-majornav 50 1000
     
     
     
     

  • 相关阅读:
    [python] defaultdict
    [VM workstation]VM workstation 中的虚拟机连不上网络
    [Docker] docker 基础学习笔记1(共6篇)
    [python] import curses
    servlet 产生随机验证码
    JSTL标签库 sql标签
    JSTLLearning
    Ajax实现联想(建议)功能
    HDU 1241
    Servlet实现文件上传
  • 原文地址:https://www.cnblogs.com/summerxye/p/11526051.html
Copyright © 2020-2023  润新知