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、基本参数、事件

  1. -help表示帮助信息,如下:

adb shell monkey -help :打印帮助信息

IOS最好的Monkey工具 软件monkey有什么用_txt文件

  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>:调整两指缩放压缩手势的百分比

 

各个编号与事件之间的对应关系:

IOS最好的Monkey工具 软件monkey有什么用_包名_02

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秒内没有响应输入的事件

IOS最好的Monkey工具 软件monkey有什么用_txt文件_03

crash:异常停止、异常退出

IOS最好的Monkey工具 软件monkey有什么用_IOS最好的Monkey工具_04

     

IOS最好的Monkey工具 软件monkey有什么用_txt文件_05

 

 6、monkey调试参数:

 

IOS最好的Monkey工具 软件monkey有什么用_包名_06

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

文件类似下方:

IOS最好的Monkey工具 软件monkey有什么用_包名_07