https://blog.csdn.net/u011436666/article/details/53265372html
一、Monkey简介
Monkey是Android中的一个命令行工具,能够运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用程序的稳定性测试。Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法。shell
Monkey帮助文档:
monkey文档地址为:< sdk >/docs/tools/help/monkey.html
在目录/docs/tools/help/下有很是多经常使用工具的帮助文档,若是访问Google网站不方便的话,咱们就可使用这个来查询。工具
sdk目录下帮助文档: 测试
二、Monkey命令
咱们能够简单的用:网站
adb shell monkey
1
来使用monkey,monkey脚本是放在/system/bin/目录下的。.net
运行以后出现以下界面:命令行
此时因为咱们没有设置参数,monkey将会显示usage信息界面,从里面咱们能够看到基本的参数。原来咱们少了一个必须的参数COUNT。
最简单的monkey命令就以下:调试
adb shell monkey 100
1
这样咱们就指定了发送100个事件,并把事件任意发送到安装在目标环境中的所有包。若是要制定选项呢?日志
一般咱们有两种方式启动Monkey:htm
直接PC启动
adb shell monkey [options] < COUNT>
Shell端启动
adb shell
monkey [options] < COUNT>
这两种方式的区别就是,PC启动能够将日志保存在PC上,Shell端启动Monkey日志能够保存在手机里。
那么咱们会用到哪些命令呢?这个就不少了,主要分为如下4种:
(这里笔者以Xmind软件来制做思惟导图的形式分析经常使用命令)
2.1 常规类
主要有帮助信息和日志打印等级两个命令:
2.2 事件类
对随机事件进行调控,使其按照设定运行:
2.3 约束类
让你的随机事件范围控制在某几个包或者类中:
2.4 调试类
对monkey进行一些简单的调试,以便于快速的定位问题:
三、Monkey使用
monkey的使用咱们能够按照上面讲过的命令选择须要的,进行组合便可,下面简单的说明一下其余要点。(本文仅讲述了在Windows环境下,Mac和Linux相似)
3.1 获取包名
若是咱们要对某一个或多个包进行monkey测试,咱们能够指定包名,可是当咱们不清楚完整的包名时应该怎么办呢?
咱们能够在CMD命令行中来查看本机装的全部apk的包名。执行如图所示命令便可:
注意:执行su命令必定要保证设备已经获取了root权限,不然会执行失败。
而后再执行:
ls data/data
1
便可以显示出全部package name,咱们查找须要的便可。
固然若是咱们设备中安装的App不少的话,若是在CMD 窗口中看package name,显然不是一种明智的办法,那么咱们能够将其导入到SD卡中,再pull到电脑,以方便咱们之后使用。
3.2 运行&中止monkey
咱们作一个简单的示例,主要说明怎么中止运行中的monkey。
首先在CMD中运行以下monkey命令:
adb shell monkey -p me.ele -p com.youdao.dict --throttle 1000 --wait-dbg 10000
1
在执行的过程当中若是咱们想中止执行怎么办呢?这是咱们能够点击Ctrl+C来中止CMD运行,可是咱们能够发现设备仍然在疯狂运行,并未中止下来。难道咱们只有重启这个“万能”的方法吗?这时候咱们能够用
ps | grep monkey1命令来找出monkey所在的进程id,再kill掉此进程便可。以下图所示: