Monkey 是您在设备上运行的工具,用于生成随机系统级用户事件。它无需任何用户交互即可生成指定数量的事件。这通常有助于执行压力测试。该工具从命令集生成随机事件并收集崩溃或内存报告。
请注意,此工具不用于自动化测试。这仅有助于找到在正常使用应用程序期间可能不会出现的崩溃。
此工具使用 Android Device Bridge ADB 工具包。要运行此命令,您需要提供应用程序包名称和要生成的随机事件总数。以下命令显示如何启动猴子工具。
$ adb shell monkey -p com.javatechig.myapp 5000
运行此测试时,您可以观看您的设备或模拟器。您会注意到正在生成 UI 元素上的随机事件。当应用程序崩溃时,它将停止锻炼器并在终端窗口上打印报告。以下屏幕截图描述了测试我的应用程序时的崩溃报告。
有多种方法可以通过传递不同的参数来控制 Monkey 工具的行为。让我们来看看一些重要的。
您可以通过键入以下内容来查看所有选项的完整列表:
$ adb shell monkey -p com.javatechig.myapp 5000
在前面的命令中你一定注意到了,当Monkey启动时,它总是启动指定包的默认应用程序。然而,在某些情况下,您的应用程序可能依赖于其他一些第三方应用程序,例如设备原生相机来捕捉照片或与谷歌地图集成。对于这种情况,任何启动外部事件的事件都将默认被 Monkey 工具删除。
可以通过向 Monkey 命令提供额外的 package -p 参数来控制此行为。
$ adb shell monkey -p com.javatechig.myapp 5000
现在让我们通过控制触发事件的类型来更智能地运行 Monkey 工具。例如,如果要确保 30% 的事件是触摸事件,则需要按如下方式指定 –pct-touch 参数。
$ adb shell monkey -p com.javatechig.myapp 5000