1.Monkey测试基本命令
1.1 Monkey基本命令:
执行单一apk:
adb shell monkey –p <options> -c <options> -s <seed> <限制语句> --throttle <milliseconds> -v 执行次数> C:\monkey_test.txt
执行apk集合:
monkey –pkg-blacklist-file /data/blacklist.txt -c <options> -s <seed> <限制语句> --throttle <milliseconds> -v 执行次数> C:\blacklist_test.txt //执行黑名单以外的应用
或
monkey –pkg-whitelist-file /data/whitelist.txt -c <options> -s <seed> <限制语句> --throttle <milliseconds> -v 执行次数 > C:\whitelist_test.txt //执行白名单的应用
1.2 Monkey各项参数说明:
1首先是约束限制的参数:
-p <包名>使用该参数制定一个包或者几个包,monkey将只允许系统启动这些包里的Activity;指定多个包,则需要使用多个-p参数,由此出现了apk集合的测试命令。
-c <main-category>用此参数指定一个或多个类别,同样,需要指定多个类别就需要多个-c参数;常见的类别有Intent.category.LAUNCHER、Intent.category.MONKEY。
2其次是调试的参数:
--dbg-no-events设置此参数,monkey将执行初始启动,进入到一个测试Activity后,不会进一步生成事件。
--ignore-crashes设置此参数,应用程序崩溃或异常时(crash、exception),继续发送事件信息
--ignore-timeouts设置此参数,在应用程序超时(ANR)的时候,继续发送事件
--ignore-security-exceptions设置此参数,在应用程序发生许可证错误的时候(认证或证书异常),继续发送事件
--kill-process-after-error设置此参数,在应用程序出现错误后,将会通知系统停止发生错误的进程
--monitor-native-crashes设置此参数,监视并报告Android系统中本地代码的崩溃事件,如果设置”--kill-process-after-error”参数,系统将停止运行该进程
--ignore-native-carshes设置此参数,忽略本地代码导致的崩溃
3最后是事件参数:
-s <seed>伪随机数生成器的seed值,如果使用相同的seed值再次运行同一个包,它将生成相同的事件序列;注意,要生成相同的事件序列,需确保再次执行monkey时的起始界面相同。
-- throttle <milliseconds>在事件之间插入固定的延迟事件,这个选项可以减缓monkey的执行速度
-v每一个-v将增加反馈信息的级别,级别越高,log的信息就越详细,一般采用三个-v;
Level0一个-v的命令,除了启动的提示、测试完成和最终结果之外,提供较少的信息
Level1两个-v的命令,提供较为详细的测试信息,如逐个发送到Activity的事件
Level2三个-v的命令,提供更加详细的测试信息,如测试中被选中或未被选中的Activity
--pct调整事件的百分比,具体如下:
--pct-touch <percent>触摸事件百分比,就是log中down-up事件,发生在屏幕的某一个单一的位置
--pct-motion <percent>动作事件的百分比
--pct-trackball <percent>轨迹事件的百分比,拖动屏幕
--pct-nav <percent> 基本导航事件的百分比,如上下左右键
--pct-majornav <percent>主要导航事件的百分比,如中间键,取消、确定或菜单引发的图形接口的动作
--pct-syskeys <percent>系统按键事件,如Home、Back、StartCall、Endcall及音量控制键等
--pct-appswitch <percent>启动Activity的百分比,在随机间隔中,执行一个startActivity()方法调用
--pct-flip <percent>点击事件的百分比
1.3 APK集合测试的设置方法
APK应用集合分为黑名单和白名单,黑名单是指系统将执行除了黑名单中以外的apk;白名单则是只执行在白名单中的apk。
黑名单的设置方法:
a.创建一个名称为blacklist的txt文档,在文件中输入应用程序的包名,如mms应用,则在文件中输入com.android.mms;如果有多个应用程序不想被执行,则在文件中添加多个包名,注意包名与包名之间均用回车键。
b.将blacklist.txt的文件导入到手机的/data目录下,然后在执行monkey测试的时候使用--pkg-blacklist-file参数再加上blacklist文件的存储路径,其他的参数设置则和测试单一apk没有区别。
白名单的设置方法:
白名单的设置方法和黑名单的设置方法基本一致,只是在创建txt文档的时候,文件的命令应为whitelist。在执行monkey的时候,只执行白名单中的应用。
补充说明:在执行monkey测试的时候,如果将monkey测试的日志存放在手机的sdcard或者其他目录下,在monkey测试命令的最后加上一个&符号,则可以再不连接USB的情况下继续执行monkey。如:
monkey –p com.android.mms –s 100 --throttle 1000 –v –v –v 15000 > /mnt/sdcard/monkey_test.txt &
如何分析monkey日志:
https://www.cnblogs.com/chengchengla1990/p/5641086.html