Monkey Script 常用命令介绍
执行Monkey 脚本的命令:
Adb shell monkey -f <scriptfile> <event-count>
Scritpfile:我们编写的脚本文件
Tips:
Dispatch 派遣,调用
1、DispatchTrackball命令 轨迹球事件
DispatchTrackball (
long downtime,键最初被按下的时间
long eventide,事件发生的时间
int action, 操作具体是按下还是弹起
float x,x坐标点
float y,y坐标点
float pressure,压力的事件大小
float size,触摸的
int metastate,当前按下的meta键的标识
float xprecision,x坐标的精确值
float yprecision,y坐标的精确值
int device,事件的来源
int edgeflags超出了屏幕的范围
)
Action 0表示按下,1表示弹起,x和y代表的坐标点
2、DispatchPointer命令 点击事件
DispatchPointer (
long downtime,键最初被按下的时间
long eventide,事件发生的时间
int action, 操作具体是按下还是弹起
float x,x坐标点
float y,y坐标点
float pressure,压力的事件大小
float size,触摸的按钮尺寸
int metastate,当前按下的meta键的标识
float xprecision,x坐标的精确值
float yprecision,y坐标的精确值
int device,事件的来源
int edgeflags超出了屏幕的范围
)
Action 0表示按下,1表示弹起,x和y代表的坐标点
3、DispatchString命令 输入字符串事件
用法:DispatchString (String text)
4、LaunchActivity命令 启动应用(启动APP)
LaunchActivity (package,Activity)
Package: 传入的包名
Activity: 要启动的页面的名称
5、UserWait命令 等待事件
UserWait (1000) 单位:毫秒
6、DispatchPress命令 按下键值
DispatchPress (int keycode) #keycode 66 回车键
如要输入回车键,写法:
DispatchPress(66)
实例:在搜索框中输入查询词
Typ=user
Count=10
Speed=1.0
Start data >>
以上4行原文照抄,放在脚本头部。目前不知道什么意思
1、启动APP
launchActivity (包名,包名.MainActivity)
Userwait (2000)
2、点击输入框
dispatchPointer (10,10,0,100,100,1,1,-1,1,1,0,0) 按下
dispatchPointer (10,10,1,100,100,1,1,-1,1,1,0,0) 弹起
3、输入查询词
dispatchString (test)
userWait (1000)
4、点击键盘上的回车键
dispatchPress (66)
userWait (1000)
5、点击搜索按钮
dispatchPointer (10,10,0,400,100,1,1,-1,1,1,0,0) 按下
dispatchPointer (10,10,1,400,100,1,1,-1,1,1,0,0) 弹起
userWait (6000)
6、等待结果的出现
7、点击clear按钮
dispatchPointer (10,10,0,300,100,1,1,-1,1,1,0,0) 按下
dispatchPointer (10,10,1,300,100,1,1,-1,1,1,0,0) 弹起
userWait (3000)
运行脚本命令:adb shell monkey -f 脚本名 .script 2(运行2次)
把脚本push到手机里:
Adb push 脚本名 手机文件夹位置
手机里执行,不用adb shell
Adb shell 进入手机
Cd /data/local/tmp
直接写: monkey -f *******
上面第一行语句没有生效,原因:源码里面androidmanifest.xml里面
<activity
Android:exported=”true”(如果没有这个属性值,APP是不允许被外部命令调用的)>
</activity>
获取坐标点
安装的Android sdk 中tools文件夹下有一个 uiautomatorviewer 工具
启动 uiautomatorviewer
. / uiautomatorviewer
启动后,会打开一个操作窗口。左上角有手机图标,点击后会获取手机界面上的元素。
元素解析:
Node detail 窗口下有一个bounds 值
Bounds [16,97] [376,145] 前面[]中表示元素左上角顶点的值,后面的[]是右下角的
x y x y
定位的x值在bounds的2个x值之间就可以准确定为到该元素
定位的y值在bounds的2个y值之间就可以准确定为到该元素