monkey基础 (1) - monkey简介

1|0Monkey简介

在Android的官方自动化测试领域有一只非常著名的“猴子”叫Monkey,这只“猴子”一旦启动,就会让被测的Android应用程序像猴子一样活蹦乱跳,到处乱跑。人们常用这只“猴子”来对被测程序进行压力测试,检查和评估被测程序的稳定性。

Android官方对这只“猴子”的描述是这样的:

The Monkey is a program that runs on your emulator or device and generates pseudo-random streams of user events such as clicks, touches, or gestures, as well as a number of system-level events. You can use the Monkey to stress-test applications that you are developing, in a random yet repeatable manner.

Monkey是一个程序,运行在您的模拟器或设备上,并生成伪随机的用户事件流,如点击,触摸或手势,以及一些系统级事件。 您可以使用Monkey以随机但可重复的方式对您正在开发的应用程序进行压力测试。

monkey官方文档:http://www.android-doc.com/tools/help/monkey.html

2|0Moneky 路径

Monkey程序是Android系统自带的,其启动脚本是位于Android系统的/system/bin目录的Monkey文件,其jar包是位于Android系统的/system/framework目录的Monkey.jar文件。用户主要是通过adb命令来启动Monkey的,Monkey在运行时,会根据命令行参数的配置,生成伪随机的事件流,并在Android设备上执行对应的测试事件。同时,Monkey还会对测试系统进行监测,当出现以下三种情况时会进行特殊处理:

  • 如限定了Monkey运行在特定包上,当监测到试图转到其他包的操作,将对其进行阻止。
  • 如应用程序崩溃或接收到任何失控异常,Monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行。
  • 如果应用程序发生了程序无响应(application not responding)的错误,Monkey将记录对应的错误日志,并根据命令行参数判断是停止运行还是继续运行。
  • 按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。

3|0Monkey启动步骤

  1. 连接移动设备
  2. 连接成功后输入命令
adb shell
  1. 进入到指定目录
cd /system/bin
  1. 输入 monkey命令看到如下提示则说明启动成功。
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

4|0强制关闭monkey

  1. adb shell ps 查看全部在运行的进程
  2. 查找出com.android.commands.monkey 进程PID
  3. adb shell kill pid 杀掉monkey进程

5|0monkey 命令

monkey命令格式如下:

$ adb shell monkey [options] <event-count>
  • [options]是指monkey可传入的参数,是可选项(如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包)
  • <event-count>是指随机发送事件数。如:输入100就是执行100个伪随机事件,为必选项。

__EOF__

本文作者😎
本文链接https://www.cnblogs.com/dongye95/p/15310016.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   dongye95  阅读(200)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示