什么是Monkey
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。
Monkey的特征
-
测试的对象仅为应用程序包,有一定的局限性。
-
Monky测试使用的事件流数据流是随机的,不能进行自定义。
-
可对MonkeyTest的对象,事件数量,类型,频率等进行设置。
环境搭建
教程:http://www.cnblogs.com/sylovezp/p/3623588.html
-
java环境安装
-
安装Android SDk环境
-
设置环境变量
-
下载安装你需要的Android版本
测试实践
step1:准备一个.apk安卓包
step2:PC连接安卓设备(可以是模拟器,也可以是手机,由于手机需要root,以模拟器为例)命令:adb connect 127.0.0.1:62001
step3:查看当前设备:adb devices
step4:安装APP:adb install xx.apk
step5:发送指令:adb shell monkey -p com.ionicframework.lifecirclemerchantfront573168 -v 500
测试结果分析
-
程序吴响应问题,在日志中搜索“ANR”
-
崩溃问题,在日志中搜索“CRASH”
-
其他问题,在日志中搜索Exception
重现问题
-
找到monkey里面出现错误的地方
-
查看monkey里面出现前的一些事件动作,并手动执行该动作
-
如果以上步骤不能找出,可以使用之前执行的monkey命令再执行一遍
基本用法
1.adb命令无法启用could not read ok from ADB Server,原因:端口(5037)被占用,结束360手机助手
2.查看当前打开的APP的包名:adb shell dumpsys window | findstr mCurrentFocus
3.No activities found to run, monkey aborted. 原因:adb没有安装该手机/模拟器对应的安卓系统
4.输出包和包相关联的文件:adb shell pm list packages -f
5.将测试日志保存到文件中;adb shell monkey -p com.ionicframework.lifecirclemerchantfront573168 -v 5000 > C:\AndroidTest\reports\fubei_0727.txt
6.输入日志:adb logcat | find "com.ionicframework.lifecirclemerchantfront573168" > C:\AndroidTest\reports\fubei_0729.txt
7.在cmd输出日志:adb logcat(Ctrl+c退出)
8.将日志保存在电脑文件:adb logcat > C:\AndroidTest\reports\fubei_0729.txt