1、Monkey是什么
Monkey是可以运行在模拟器或者终端设备上的一款程序,它可以生产用户随机事件流,比如说点击、触摸、手势以及系统级别事件。
可以运行在终端或者模拟器上的命令行工具,通过对系统注入用户事件的随机流是来对开发中的应用进行压力测试。
2、Monkey能干什么
你可以使用Monkey来对你开发中的应用进行压力测试,随机、可重复。
Monkey包含一系列选项,但主要包括以下四个方面:
a.基础配置选项,比如设置注入事件的数量
b.备选限制,比如限制测试但个包
c.事件类型和频率
d.调试选项
在monkey运行中,它生成事件并发送给系统。它同时监控压测下系统表现并对以下三种情况进行特殊处理:
a.在你限制运行monkey在指定的一个或者多个包时,它会尝试忽视或者屏蔽其他包
b.如果你的应用崩溃或者接收到一些未处理的异常,monkey会停止并报告错误
c.如果你的应用产生应用没有相应的错误,monkey将停止并报告错误
依赖设置的日志级别,可以看到monkey的进展和生成事件的报告。
3、adb的常用命令
在开发机器上通过使用命令行工具或者脚本运行Monkey。因为Monkey运行在模拟器或者终端环境中,你必须在该环境局下通过shell来登入。
可以输入adb shell 命令行。或者进入shell环境,直接输入monkey命令;
基础语法:
$adb shell monkey [option] <event-count>
不指定任何选项,monkey将默认静态模式,并且将向你目标设备上的所有包发送事件。以下是典型应用的示例:
$adb shell monkey -p package.name -v 500 向指定包名为package.name的应用发送500次事件请求
比如:包名为com.zillion.academy的包,发送8000次请求
4、命令介绍 -help 帮助文档 -v 日志级别
-v 默认设置,提供一些启动、测试完成以及最终结果的信息
-v -v 提供更详细的运行测试信息,比如发送activity的事件
-v -v -v提供关于安装等更为详尽的信息,比如测试中已选中或者未选中的activity
事件类:
-s 随机事件生成器的种子值,如果使用相同的seed值重新运行monkey,它将生成相同的事件序列
比如:
adb shell monkey -s 1504586907357 -p com.zillion.academy -v 100 --throttle 事件间隔(延迟)
事件之间插入的固定延迟,用着设置放缓monkey注入事件的速度;默认不指定,事件生成将以尽可能快的速度进行。
比如:
adb shell monkey -p com.zillion.acedamy --throttle 10 -v -v 100 --pct-touch 调整touch事件的比例
--pct-motion 调整移动事件的比例
--pct-trackball 调整滑动事件的比例
--pct-nav 调整基础导航事件的比例,上下左右
--pct-majornav 菜单,返回等事件
--pct-syskeys 系统按键时间比例(Home,Back,Start Call,End Call,Volume controls)
--pct-appswitch activity时间切换,尽可能覆盖包里所有的activity
--pct-anyevent 调整其他时间比例,比如很少使用的keypress等事件
比如:
adb shell monkey -p com.zillion.academy --pct--touch 10 --pct-trackball 30 --pct-anyevent 20 -v -v 100 -p 指定包名 debug类的还没用到过,后续如有必要另行补充。
|