Monkey命令介绍

Monkey脚本支持的命令
脚本命令必须为小写字母
脚本命令以回车符作为一条命令的结束

键盘按下/弹起
key [down|up] keycode
这个命令模拟一次键盘输入。
keycode参数值详见KeyEvent类的KEYCODE列表。这个参数的格式很灵活,例如模拟菜单按钮可以使用82(菜单按钮的键值),也可以使用 KEYCODE_MENU(键值的名称,必须严格都是大写字母),还可以使用menu(Monkey程序会自动添加KEYCODE部分,此时并不区分大小 写)。
注意一次完整的敲击(press)操作是一个按下(key down)和弹起(key up)的组合

触摸按下/弹起/移动
touch [down|up|move] x y
This command injects a MotionEvent into the input system that simulates a user touching the touchscreen (or a pointer event). x and y specify coordinates on the display (0 0 being the upper left) for the touch event to happen. Just like key events, touch events at a single location require both a down and an up. To simulate dragging, send a “touch down”, then a series of “touch move” events (to simulate the drag), followed by a “touch up” at the final location.

滚动轨迹球
trackball dx dy
This command injects a MotionEvent into the input system that simulates a user using the trackball. dx and dy indicates the amount of change in the trackball location (as opposed to exact coordinates that the touch events use)
打开/关闭实体键盘

flip [open|close]
模拟一次实体键盘的打开/关闭。
在没有实体键盘的手机上此命令无效。
唤醒设备(点亮屏幕)
wake
这个命令将唤醒设备,并允许用户输入。
如果设备键盘已锁,这个命令并不能解锁键盘
屏幕点击

tap x y
这个命令模拟一次屏幕点击。
这个命令就是touch down和touch up命令的一次组合。
敲击键盘

press keycode
这个命令模拟一次键盘敲击。
这个命令就是key down和key up命令的一次组合。
键入字符串

type string
这个命令模拟键入一个字符串
该命令会完全模拟每一个字符的键盘事件
列出环境变量

listvar
该命令将列出Monkey的所有环境变量。
返回值为空格分隔的字符串。
参考:Nexus S中Monkey的环境变量
am.current.action
am.current.categories
am.current.comp.class
am.current.comp.package
am.current.data
am.current.package
build.board
build.brand
build.cpu_abi
build.device
build.display
build.fingerprint
build.host
build.id
build.manufacturer
build.model
build.product
build.tags
build.type
build.user
build.version.codename
build.version.incremental
build.version.release
build.version.sdk
clock.millis
clock.realtime
clock.uptime
display.density 设备屏幕密度
display.height 设备纵向像素
display.width 设备横向像素
获取环境变量值

getvar varname
该命令用于获取指定的环境变量的值。
通过listvar命令获取支持的环境变量列表。

退出Monkey
quit
完全退出Monkey
Monkey不再接受新的连接。

结束当前会话
done
结束当前会话。
Monkey还可以接受新的连接。

休眠
sleep ms
使Monkey进入休眠一段时间,参数为整数,单位毫秒

一、九个事件及百分比控制
1、九个事件
–pct-touch 0
调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置)(——点击事件,涉及down、up)
–pct-motion 1
调整动作事件的百分比(动作事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成) (——注:move事件,涉及down、up、move三个事件)
–pct-trackball 2
调整轨迹事件的百分比(轨迹事件由一个或几个随机的移动组成,有时还伴随有点击)–(轨迹球)
–pct-nav 3
调整“基本”导航事件的百分比(导航事件由来自方向输入设备的up/down/left/right组成)
–pct-majornav 4
调整“主要”导航事件的百分比(这些导航事件通常引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键)
–pct-syskeys 5
调整“系统”按键事件的百分比(这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键)
–pct-appswitch 6
调整启动Activity的百分比。在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法。(从一个Activity跳转到另一个Activity)
–pct-flip 7
调整“键盘翻转”事件的百分比。
–pct-anyevent 8
调整其它类型事件的百分比。它包罗了所有其它类型的事件,如:按键、其它不常用的设备按钮、等等。
红色的数字对应下面百分比对应的数字。比如下图中0:15.0%,表示分配–pct-touch事件15%。测试100次分配15次测试down-up。
2、百分比控制
如果在monkey参数中不指定上述参数,这些动作都是随机分配的,9个动作其每个动作分配的百分比之和为100%,我们可以通过添加命令选项来控制每个事件的百分比,进而可以将操作限制在一定的范围内。
我们先来看一下不加动作百分比控制,系统默认分配事件百分比的情况
命令:adb shell monkey -v -p your.www.com 500
结果:
这里写图片描述
再看一下指定事件,控制事件百分比之后的情况
命令:adb shell monkey -v -p your.www.com –pct-anyevent 100 500
结果:
这里写图片描述
说明:–pct-anyevent 100 表明pct-anyevent所代表的事件的百分比为100%。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值