命令参数:
-p: 用此参数指定一个或者多个包,指定包之后,monkey将只允许启动指定app,如果不指定包,monkey将启动系统中所有的app 。
-v: 用于指定反馈的信息级别(日志的详细程度),分为三个级别,级别越高,日志越详细。
--throttle(毫秒) :制定每个事件结束后的间隔时间,降低系统压力。(如果不指定系统会尽快的发送事件序列)
-s:指定伪随机数生成器的seed值,如果seed相同,则两次monkey 测试产生的事件序列也相同。若出现问题下次可以重复同样的系列进行排错。
(如果用相同的seed值再次运行monkey,它将生成相同的事件序列,对9个事件分配相同的百分比。)
--dbg-no-events:初始化启动的activity,但是不产生任何事件。
--hprof:指定该项后在事件序列发送前后会立即生成分析报告 —— 一般建议指定该项。
--ignore-crashes:忽略崩溃
--ignore-timeouts:忽略超时
--ignore-security-exceptions:忽略安全异常
--kill-process-after-error:发生错误后直接杀掉进程
--monitor-native-crashes:跟踪本地方法的崩溃问题
--wait-dbg:知道连接了调试器才执行monkey测试。
一、九个事件及百分比控制
--pct-touch <percent> 0
调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)(——点击事件,涉及down、up)
--pct-motion <percent> 1
调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成) (——注:move事件,涉及down、up、move三个事件)
--pct-trackball <percent> 2
调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)--(轨迹球)
--pct-nav <percent> 3
调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)
--pct-majornav <percent> 4
调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
--pct-syskeys <percent> 5
调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)
--pct-appswitch <percent> 6
调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法。(从一个Activity跳转到另一个Activity)
--pct-flip <percent> 7
调整“键盘翻转”事件的百分比。
--pct-anyevent <percent> 8
调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等。
如何关闭mokey?
- ps命令查找uiautomator的进程
cmd命令行窗口输入:
(linux)adb shell ps | grep monkey
(windows)adb shell ps | findstr monkey
返回来的第一个数字,即是monkey的进程号
2.kill 命令结束进程
继续输入: adb shell kill [刚才查到的进程号]
如何分析monkey日志?
1、 ANR问题:在日志中搜索“ANR”
2、 崩溃问题:在日志中搜索“CRASH”
为随机数的事件序列定一个值,若出现问题下次可以重复同样的系列进行排错。
example:
adb shell monkey -p [your.package.name] -v 1000 >C:\Users\Desktop\MonkeyTest\monkey.txt
adb shell monkey -p [your.package.name] --pct-touch 30 --ignore-crashes --ignore-timeouts --throttle 500 -s 2 -v -v -v 5000000 >C:\Users\Desktop\MonkeyTest\monkey.txt
网友评论