Monkey设置黑白名单

测试同事在进行Monkey的时候,运行到一个用户可能点击不到的应用,所以想到要设置一个黑名单。

添加的方法简要如下:

1、新建一个BAT脚本,模拟monkey指令测试music模块

adb root

adb wait-for-device

adb shell sleep 3

set /a m=60 set /a n=1

adb push blacklist.txt /data/local/tmp/

adb shell monkey --pkg-blacklist-file /data/local/tmp/blacklist.txt -p com.android.music -v --throttle 300 -s %m% 20000000 >D:\monkey.txt

2、添加黑名单:在BAT脚本同级目录中创建blacklist.txt,并在目录中添加不想测试的模块的包名,可以添加多个,以换行进行分开,monkey解析是一行行来读的。

3、同理添加白名单,在BAT脚本同级目录中创建whitelist.txt

adb push whitelist.txt /data/local/tmp/

adb shell monkey --pkg-whitelist-file /data/local/tmp/whitelist.txt -v --throttle 300 -s %m% 20000000 >D:\monkey.txt


黑名单、白名单、-p参数的区别:

白名单:只执行名名单中的apk; 

黑名单:除了黑名单中以外的apk;

-p  :       执行单一apk;

白名单如果只有一个模块的话,那与-p没多少区别,白名单可添加多个模块,使用方便些。

注:这三个参数是三选其中,是不可以同时设置的,原因是Monkey源码在进行解析的时候做了判断

/** * Load package blacklist or whitelist (if specified).

* * @return Returns false if any error occurs. */

private boolean loadPackageLists() {

if (((mPkgWhitelistFile != null) || (MonkeyUtils.getPackageFilter().hasValidPackages())) && (mPkgBlacklistFile != null)) {

Logger.err.println("** Error: you can not specify a package blacklist " + "together with a whitelist or individual packages (via -p).");

return false;

}

你可能感兴趣的:(Monkey设置黑白名单)