1.如何跑多个apk的monkey?
黑名单:执行除了黑名单中以外的apk;
白名单:只执行在白名单中的apk。
黑名单的设置方法:
a.创建一个名称为blacklist的txt文档,在文件中输入应用程序的包名,如mms应用,则在文件中输入com.android.mms;
如果有多个应用程序不想被执行,则在文件中添加多个包名,注意包名与包名之间均用回车键。
b.将blacklist.txt的文件导入到手机的/data目录下,然后在执行monkey测试的时候使用--pkg-blacklist-file参数再加上blacklist文件的存储路径,其他的参数设置则和测试单一apk没有区别。
例子:
monkey --pkg-blacklist-file /data/blacklist.txt -c <options> -s <seed> <限制语句> --throttle <milliseconds> -v 执行次数> d:\blacklist_test.txt //执行黑名单以外的应用(注意pkg前面两个‘-’)
白名单的设置方法:
白名单的设置方法和黑名单的设置方法基本一致,只是在创建txt文档的时候,文件的命令应为whitelist。在执行monkey的时候,只执行白名单中的应用。
例子:
monkey --pkg-whitelist-file /data/whitelist.txt -c <options> -s <seed> <限制语句> --throttle <milliseconds> -v 执行次数 > d:\whitelist_test.txt //执行白名单的应用(注意pkg前面两个‘-’)
附
一、Monkey命令
1. 标准的monkey 命令
[adb shell] monkey [options] < eventcount > , 例如:
adb shell monkey -v 500
产生500次随机事件,作用在系统中所有activity(其实也不是所有的activity,而是包含 Intent.CATEGORY_LAUNCHER 或Intent.CATEGORY_MONKEY 的activity)。
上面只是一个简单的例子,实际情况中通常会有很多的options 选项.
2. 四大类
常用选项
事件选项
约束选项
调试选项
具体的命令解释可以看这里:android 压力测试命令monkey详解
1).一个简单的Monkey命令如下:
adb shell monkey -p com.example.xystudy -s 500 -v 10000
2).工作中为了保证测试数量的完整进行,我们一般不会在发生错误时立刻退出压力测试。monkey 测试命令如下:
/**
* monkey 作用的包:com.ckt.android.junit
* 产生时间序列的种子值:500
* 忽略程序崩溃、 忽略超时、 监视本地程序崩溃、 详细信息级别为2, 产生10000个事件 。
*/
adb shell monkey -p com.xy.android.junit -s 500 --ignore-crashes --ignore-timeouts --monitor-native-crashes -v -v 10000 > E:\monkey_log\java_monkey_log.txt
3).对了,如果monkey事件无法触发,或出现这种情况** SYS_KEYS has no physical keys but with factor 2.0%.
在命令中加入–pct-syskeys 0,如下:
adb shell monkey -p com.android.browser --pct-syskeys 0 -v 500
二、强制停止Monkey测试
adb shell ps | awk '/com\.android\.commands\.monkey/ { system("adb shell kill " $2) }'
来源:https://www.cnblogs.com/hyf20131113/p/11867555.html