Android压力测试工具——Monkey

时间:2022-01-26 16:30:14

Android压力测试工具——Monkey

  Monkey是运行在模拟器上和真机设备上的一段程序,它会产生用户事件的一系列伪随机流,比如点击、触摸、手势,还有很多系统级别的事件。Monkey通常是用来做应用的压力测试的,通过一种随机且大量重复的方式。

Overview

  Monkey是一个命令行工具,可以运行在模拟器或者真实设备上。

  它发送用户事件的伪随机流,向目标应用软件发起压力测试。

  Monkey包含一些选项,它们主要分为四个基本类型:

  基本配置选项:比如要发送的事件总数。

  操作限制:比如可以限制测试一个单独的包。

  事件类型和频率

  Debug选项

  当Monkey运行的时候,它会生成事件,把它们发给系统。

  同时Monkey也会监测系统在测试下的表现,寻找三种情况,Monkey会特殊处理:

  1.如果你限定了Monkey在某个或者某些特定的包内,它会注意观察有没有一些企图导航进入其他包的情况,然后block它们。

  2.如果你的应用崩溃了或者接收到了一些未处理的异常,Monkey将会停止运行,然后报告错误。

  3.如果你的应用产生了ANR(Application Not Responding)的错误,Monkey也会停止,然后报告错误。

  根据选择的详细级别不同,在Monkey运行过程中你将会看到报告和产生的随机事件。

Monkey的基本使用

  可以通过脚本或命令行工具来运行Monkey,因为Monkey运行在模拟器或设备的环境中,你必须通过该环境的shell来运行Monkey。

  比如可以一句话完成:

  $ adb shell monkey [options] <event-count>

  当不设置任何选项时,Monkey将会以安静模式启动(non-verbose),它将会向设备上安装的所有包发送事件。

  一个更典型的用法如下:

  $ adb shell monkey -p your.package.name -v 500

  它将会启动你的应用,然后发送500个随机事件给它。

Command Options Reference

  命令选项如下,为了图省事直接截图了:

  一般类:

Android压力测试工具——Monkey

  事件:

Android压力测试工具——Monkey

Android压力测试工具——Monkey

  限制:

Android压力测试工具——Monkey

  调试:

Android压力测试工具——Monkey

参考资料:

  http://developer.android.com/tools/help/monkey.html