禁用Android Monkey上的系统级事件

Edm*_*und 10 testing android adb monkey

猴子测试我的应用程序

% adb shell monkey -p com.foo.bar --throttle 1000 -v 14400
Run Code Online (Sandbox Code Playgroud)

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

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

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

我查看了'-c'选项的约束,但是查看http://developer.android.com/reference/android/content/Intent.html上可用的Intents ,我似乎没有看到任何与禁用相关的内容这样的系统级事件.

有什么指针吗?

kop*_*pos 12

通过设置-pct-sysevents为零.

但是,在使用monkey命令时,有一个小的catch,它与事件的顺序有关.

-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
Run Code Online (Sandbox Code Playgroud)

命令用法如下.

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
Run Code Online (Sandbox Code Playgroud)

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


Elo*_*rro 1

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

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