首页 > 代码库 > 使用Monkey对apk做稳定性测试

使用Monkey对apk做稳定性测试

认识Monkey

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

什么是Monkey?

Monkey是Android中的一个命令行工具,可以运行在模拟器或实际设备中,它向系统发送随机的用户事件流(按键输入,触摸屏输入,手势输入等),实现对应用程序随机,快速疯狂操作的效果。Monkey测试是一种为了测试软件的稳定性,健壮性的快速有效的方法。

 

一、安卓adb环境搭建

略,android开发环境:使用Android Studio搭建Android集成开发环境(图文教程)

 

二、Monkey使用步骤

1.ADB连接Android测试设备,在命令行输入 adb devices 查看设备连接情况

如果是真机,直接使用USB线连接真机和PC机,adb devices即可看到真机已经连接上了,如

C:\Users\Administrator>adb devices
List of devices attached
611AKBPP22HR5   device

如果使用模拟器,如夜神模拟器,则需要手工连接才可以看到模拟器

C:\Users\Administrator>adb connect 127.0.0.1:62001
connected to 127.0.0.1:62001

C:\Users\Administrator>adb devices
List of devices attached
127.0.0.1:62001 device

2.确定待测试应用的PackageName

方法一:直接问开发即可

方法二:使用一些查包工具可以获得PacakgeName

方法三:通过重签名软件可以获得,参照《使用re-sign.jar对apk进行重签名》

3.使用Monkey发一条测试命令

示例:

adb shell monkey -p com.ssjj.recorder -v 50

包名:com.ssjj.recorder

-p 指定测试包名

-v 显示默认程度的信息

事件数设定为50

 

三、异常日志分析

1.找到monkey里面的哪个地方出差
2.查看Monkey里面出错前的一些事件动作,并手动执行该动作
3.若以上步骤不能找出,可以使用之前执行的monkey命令再执行一次,注意seed值要一样。
4.注意第一个switch以及其他异常信息

常见问题
1.ANR问题:在日志中搜索“ANR”
2.崩溃问题:在日志中搜索"CRASH"

假如运行结束后,结果显示为:
** System appears to have crashed at event 48 of 50 using seed 1499432070709
则说明系统在50个操作的第48个操作里面出现了异常,用的种子是1499432070709。我们下次用相同的操作序列再现这个异常,如
adb shell monkey -p com.ssjj.recorder -s 1499432070709 500

 

使用Monkey对apk做稳定性测试