前言:
Monkey是Android提供的系统工具。
它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。
Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
Monkeyrunner工具与monkey工具并无关联;monkey工具直接运行在设备或模拟的adbshell中,生成用户或系统的伪随机事件流,而monkeyrunner工具则是在工作台上通过API定义的特定命令和事件控制设备或模拟器;
测试步骤:
-
安卓手机用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来查询
注意,5037为adb默认端口,如果被占用,则无法继续执行adb命令;
Windows系统自己配置 adb server 端口方法:很简单,只要在系统环境变量中定义 ANDROID_ADB_SERVER_PORT 的值即可。
linux下只要 export $ANDROID_ADB_SERVER_PORT = 自定义端口,即可。
最好选择一个5位数的端口号(10000 ~ 65535),不易重复