11

在猴子测试我的应用程序时

% adb shell monkey -p com.foo.bar --throttle 1000 -v 14400

我注意到它可以访问我设备上的各种系统设置,例如音频控制和截屏。根据http://developer.android.com/tools/help/monkey.html,这就是它的行为方式。

Monkey 是一个在您的模拟器或设备上运行的程序,它会生成伪随机的用户事件流,例如点击、触摸或手势,以及一些系统级事件。

是否可以排除系统级事件,以便猴子完全专注于我的目标应用程序?

我查看了约束的“-c”选项,但查看了http://developer.android.com/reference/android/content/Intent.html上的可用意图,我似乎没有看到任何与禁用相关的内容此类系统级事件。

任何指针?

4

2 回答 2

14

通过将 设置-pct-sysevents为零。

但是,在使用 monkey 命令时,有一个小问题,即关于事件的顺序。

-v是一个详细标志。

COUNT 必须出现在命令的最后

adb shell monkey -p your.package.name -v --pct-syskeys 0 9999
adb shell monkey -p your.package.name -v --pct-syskeys 0 COUNT

命令用法如下。

usage: monkey [-p ALLOWED_PACKAGE [-p ALLOWED_PACKAGE] ...]
              [-c MAIN_CATEGORY [-c MAIN_CATEGORY] ...]
              [--ignore-crashes] [--ignore-timeouts]
              [--ignore-security-exceptions]
              [--monitor-native-crashes] [--ignore-native-crashes]
              [--kill-process-after-error] [--hprof]
              [--pct-touch PERCENT] [--pct-motion PERCENT]
              [--pct-trackball PERCENT] [--pct-syskeys PERCENT]
              [--pct-nav PERCENT] [--pct-majornav PERCENT]
              [--pct-appswitch PERCENT] [--pct-flip PERCENT]
              [--pct-anyevent PERCENT] [--pct-pinchzoom PERCENT]
              [--pkg-blacklist-file PACKAGE_BLACKLIST_FILE]
              [--pkg-whitelist-file PACKAGE_WHITELIST_FILE]
              [--wait-dbg] [--dbg-no-events]
              [--setup scriptfile] [-f scriptfile [-f scriptfile] ...]
              [--port port]
              [-s SEED] [-v [-v] ...]
              [--throttle MILLISEC] [--randomize-throttle]
              [--profile-wait MILLISEC]
              [--device-sleep-time MILLISEC]
              [--randomize-script]
              [--script-log]
              [--bugreport]
              [--periodic-bugreport]
              COUNT

所有选项都有解释:https ://developer.android.com/studio/test/monkey.html

于 2015-04-30T13:41:40.103 回答
1

我已经设法通过设置--pct-syskeys更高的值来更改“系统”事件比率。

就我而言,猴子不断显示通知区域并更改 wifi 设置(我的应用程序仅限 wifi),此参数解决了问题。

于 2014-03-25T16:07:37.577 回答