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
 
 
 
 

posted @ 2019-09-16 10:39  小鱼儿_summer  阅读(432)  评论(0编辑  收藏  举报