1.Monkey是什么以及有什么用?
Monkey 就是Android中的一个命令行工具,可以运行在模拟器和实际设备中,它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。然后开发人员结合monkey 打印的日志和系统打印的日志,解决测试中出现的问题。Monkey测试是一种测试软件的稳定性快速有效的方法。
乱按、无规则操作手机
2.环境配置
1、软件下载地址:eclipse集成sdk和adt(分享的是32位的):http://pan.baidu.com/s/1o7zPQJo 访问密码kskr
2、配置环境变量:见博客中“安卓稳定性压测工具_monkey环境搭建(简易)”
3、连接手机,打开手机的USB调试模式。
打开开始菜单,点击运行,输入cmd,回车,输入adb-decvices,回车
3、使用方法(例子)
- 进入手机命令:adb shell
- 进入monkey程序的路径,查看是否有monkey:cd /system/framework 查找monkey名字开始的内容:ls | grep monkey
- 启动monkey脚本的路径:/system/bin/mokey
- 查看monkey启动程序中的内容:cat monkey
- 在PC端控制台启动命令:adb shell monkey [option] <count> ([]:选填参数、<>必填参数)
例子:随机100次运行五维云,将日志放到d盘monkey目录中:
adb shell monkey -p com.hx.wwy -v -v 100 > d:\monkey
4、基本参数、事件
- -help表示帮助信息,如下:
adb shell monkey -help :打印帮助信息
2.-v表示monkey向控制台输入的日志级别,如下:
在控制台打印启动信息,测试完成信息和最终结果信息:adb shell monkey -v 100
在控制台打印执行时的一些信息,如发送时间:adb shell monkey -v -v 100
在控制台打印最详细的信息:adb shell monkey -v -v -v 100
3.-p后面接执行的包名列表,如果指定多个包,需要使用多个-p选项,每个-p选项只能用于一个包,如下:
在控制台输入:adb shell monkey -p com.hx.wwy -p com.android.email -v -v 100
4.-s<随机种子>:伪随机数生成器的seed值。如果用相同的seed值再次运行monkey,它将产生相同的事件序列
5.--throttle<毫秒>:在事件之间插入固定延迟
如100个事件固定延时200毫秒:adb shell monkey -p com.hx.wwy --throttle 200 -v -v 100
6.--randomize-throttle:在事件之间插入随机延迟,随机延迟范围为0到throttle设置的时间
如100个事件0到300毫秒随机延时:adb shell monkey -p com.hx.wwy --throttle 300 --randomize-throttle -v -v 100
7.--pct-touch<percent>:调整点击事件的百分比
如全部设置为touch事件:adb shell monkey -p com.hx.wwy --pct-touch 100 --throttle 200 --randomize-throttle -v -v 100
8.--pct-motion<percent>:调整移动事件的百分比
9--pct-nav<percent>:调整导航事件的百分比(按上下左右键)
10.--pct-majornav<percent>:调整主要导航事件的百分比
11.--pct-syskeys<percent>:调整"系统"按键事件的百分比(如Home、back、start call、end call以及音量控制键)
12.--pct-flip<percent>:调整键盘唤出隐藏的百分比
13.--pct-pinchzoom<percent>:调整两指缩放压缩手势的百分比
各个编号与事件之间的对应关系:
0 —— touch
1—— montion
2——pinchzoom
3——trackball
4——rotation(旋转屏幕)
5——nav
6——majornav
7——syskeys
8——appswitch
9——flip
10——anyevent
5、Android常见错误类型:
ANR:在5秒内没有响应输入的事件
crash:异常停止、异常退出
6、monkey调试参数:
7、monkey黑白名单
黑名单:不测试的应用 --pkg-backlist-file 文件所在地址/文件名
白名单:只测试的应用 --pkg-whitelist-file 文件所在地址/文件名
一次只能使用一个,不能同时使用
使用方法:
1、创建txt文件,录入包名称;
2、将txt文件push到手机/data/local/tmp/
如:命令:adb push d:\blacklist.txt /data/local/tmp
3、执行
如:除黑名单中的包整机测试,延时200毫米,1000次。
命令:adb shell monkey --pkg-blacklist-file /data/local/tmp/blacklist.txt --throttle 200 1000
补充知识:
1、如何停掉控制台正在运行的monkey?
首先,查看monkey进程号:adb shell ps | find "monkey"
其次,杀掉进程:adb shell kill 进程号,这里为:adb shell kill 3540
2、导出手机中已安装app包名称
adb shell pm list packages > d:\pkg.txt
文件类似下方: