禁用Android Monkey上的系统级事件

时间:2014-01-03 19:58:04

标签: android testing adb monkey

猴子测试我的应用

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

我注意到它可以访问我的设备上的各种系统设置,如音频控制和拍摄屏幕截图。根据{{​​3}},这就是它的表现方式。

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

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

我查看了'-c'选项中的约束,但是查看http://developer.android.com/tools/help/monkey.html处的可用Intent,我似乎没有看到任何与禁用此类系统级事件相关的内容。

任何指针?

2 个答案:

答案 0 :(得分:11)

' Set the data source. MyDataGridView.DataSource = myDataTable ' Set the filter. DirectCast(MyDataGridView.DataSource, DataTable).DefaultView.RowFilter = String.Format("DateColumn = '{0:yyyy-MM-dd}'", MyDateTimePicker.Value) 设置为零。

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

-pct-sysevents是一个冗长的旗帜。

COUNT必须出现在命令的最后

-v

命令用法如下。

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

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

答案 1 :(得分:0)

我设法改变了"系统"事件比率通过将--pct-syskeys设置得更高。

在我的情况下,猴子继续显示通知区域和更改wifi设置(我的应用程序仅限wifi),此参数解决了问题。