1、Monkey测试是android平台下自动化测试的一种快速有效的手段,通过Monkey工具可以模拟用户触摸屏幕、滑动轨迹球、按键等操作来对模拟器或者手机设备上的软件进行压力测试,检测该软件的稳定性、健壮性。它的原理是向系统发送伪随机的用户事件流(如按键输入、触摸输入、手势输入等),实现对正在开发的应用程序进行压力测试。
2、Monkey的基本用法
基本语法如下:
$ adb shell monkey [options]
如果不指定options,Monkey将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更为典型的命令行示例,它启动指定的应用程序,并向其发送1000个伪随机事件:
$ adb shell monkey -p your.package.name -v number
$ monkey -p(package的意思) 指定文件名 -v(测试的次数和频率) number(次数)
1)查看apk的package
a、进入通过cd命令进入data/data目录下,然后用ls命令查看,可查看到当前运行的package
b、adb shell
# pm list packages
2)查看activity
a、使用命令行aapt dump xmltree xx.apk AndroidManifest.xml
b、adb shell dumpsys window w |findstr / |findstr name=
3、mokey测试结果分析
1)测试结果导出
adb shell monkey -p your.package.name -v number>D:log.txt
2)测试结果分析
ANR问题:在日志中搜索“ANR”
崩溃问题:在日志中搜索“Exception”
3)事件-s
伪随机数生成器的seed值。如果用相同的seed值再次运行Monkey,它将生成相同的事件序列。
日志中查看到具体系统崩溃seed值,重现系统崩溃测试步骤
4、结束monkey进程
ps|grep monkey
kill pid