使用Monkey测试Android系统应用

前言:

Monkey是Android提供的系统工具。
它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。

测试步骤:

  • 安卓手机用USB连上电脑,命令行adb devices查看是否获取到设备信息
    (adb: Android debug bridge 调试桥,可以直接操作管理Android模拟器或真机,作用:运行设备的shell(命令行))
    在这里插入图片描述

  • adb shell pm list packages 查看所有应用包名,找到自己要测试的APP的应用包名,以新浪微博为例
    在这里插入图片描述

  • 针对要测试的新浪微博APP进行操作,对新浪微博发送压测指令,adb shell monkey -p com.sina.weibo 1000
    在这里插入图片描述

  • adb shell monkey -v -p com.sina.weibo --pct-touch 100 1000发送1000条指令,touch事件占比100%,并打印
    在这里插入图片描述

monkey通过11大事件来模拟用户的常规操作
触摸事件,–pct-touch PERCENT
手势事件,–pct-motion
二指缩放事件,轨迹事件, --pct-trackball
屏幕旋转事件,基本导航事件,–pct-nav
导航事件,–pct-majornav
系统按键事件,启动activity事件,–pct-appswitch
键盘事件,
其他类型事件。

Monkeyrunner工具与monkey工具并无关联
monkey工具直接运行在设备或模拟的adbshell中,生成用户或系统的伪随机事件流,而monkeyrunner工具则是在工作台上通过API定义的特定命令和事件控制设备或模拟器;monkeyrunner包括三大模块分别为:monkeyrunner,monkeydevice,monkeyImage;

adb shell dumpsys window windows | findstr “Current” 查看APP当前活动
adb shell dumpsys activity 正在运行的程序
dumpsys meminfo 包名 查看内存使用情况
adb install 路径/package.apk 安卓应用

详细的adb命令,可以通过adb -h来查询