Android自动化测试之Monkey

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掉此进程便可。以下图所示:

相关文章
相关标签/搜索