4

在 android 设备上进行 Monkey 测试时,我发送

adb shell monkey --ignore-security-exceptions --ignore-crashes --ignore-timeouts --ignore-native-crashes --throttle 200 -s 222 -v -v -v 125000 > c:\all_monkey.txt

然后 Monkey 会向设备发送很多随机事件,我可以看到很多滑动屏幕或单击按钮。Monkey 会不会偶尔进入设置,点击重启按钮重启设备?因为我发现运行一段时间后,设备会自行重启。我可以自己避免猴子测试单击重新启动按钮吗?谢谢。

4

2 回答 2

2

是的,您可以使用以下检查来包装您的重启功能ActivityManager

if(!ActivityManager.isUserAMonkey()){
//your code
}

isUserAMonkey () :

如果用户界面当前正被猴子弄乱,则返回“true”。

编辑:因为我第一次误解了这个问题,所以这里有一些可能有用的答案:

-p 标志

adb shell monkey -p your.application.id.here //to restrict mokey to your application

--pct-syskeys

通过将 -pct-sysevents 设置为零。然而,这里的问题是事件的顺序。- 科波斯

于 2015-11-13T09:28:46.383 回答
1

您可以简单地告诉 Monkey() 将包名称指定的特定应用程序弄乱。(例如,只允许猴子搞砸你的应用程序!)

为此,请添加-p <allowed-package-name>到您的命令中。

文档说:

如果您以这种方式指定一个或多个包,Monkey 将只允许系统访问这些包中的活动。如果您的应用程序需要访问其他包中的活动(例如选择联系人),您还需要指定这些包。如果您不指定任何包,Monkey 将允许系统在所有包中启动活动。要指定多个包,请多次使用 -p 选项——每个包一个 -p 选项。

于 2015-11-13T10:24:48.883 回答