Monkey Script:用来使Monkey执行特定操作的命令集合(脚本)。缺点:在执行过程中无法执行截屏操作
执行Monkey脚本的命令:adb shell monkey -f <scriptfile> <event-count>
1、DispatchTrackball命令
轨迹球事件:DispatchTrackball(long downtime,long eventime,int action,float x,float y,float pressure,float size,int metastate,float xprecision,float yprecision,int device,int edgeflags)
记住action,x,y三个参数即可! action 0为按下(KeyDown) 1代表弹起(KeyUp)
DispatchTrackball(5109520,5109520,0,1150,330,0,0,0,0,0,0,0)
DispatchTrackball(5109520,5109520,1,1150,330,0,0,0,0,0,0,0)
2、DispatchPointer命令
点击事件:DispatchPointer(long downTime,long eventTime,int action,float x,float y,float pressure,float size,int metaState,float xPrecision,float yPrecision,int device,int edgeFlags)
记住action,x,y三个参数即可! action 0为按下(KeyDown) 1代表弹起(KeyUp)
3、DispatchString命令
输入字符串事件:DispatchString(String text)
Dispatch(abcd)表示输入字符串abcd
4、LaunchActivity命令
启动应用:LaunchActivity(package,Activity)
LauncherActivity(com.android.browser,com.android.browser.BrowserActivity) 这样就可以启动浏览器(BrowserActivity)这个应用了
5、UserWait命令
等待事件:UserWait(1000)
UserWait(3000) 单位为ms
6、DispatchPress命令
按下键值:DispatchPress(int keycode)
keycode 66 回车键
实践:
1、启动App
2、点击输入框
3、输入查询词
4、点击键盘上的回车
5、点击搜索按钮
6、等待结果出现
7、点击clear按钮
typ=user
count=10
speed=1.0
start data >>
typ=user count=10 speed=1.0 start data >> LaunchActivity(com.android.browser,com.tencent.mtt.MainActivity) //启动应用 UserWait(2000) //等待时间 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) //弹起,和按下组成点击事件 DispatchString(test) //输入字符串事件 UserWait(1000) DispatchPress(66) //按下回车键值 UserWait(6000)
注:1、文件类型 .script
2、文件复制到手机内
复制到手机/data/local/tmp/路径下:在windows系统内执行adb push search.script /data/local/tmp/
3、在手机/data/local/tmp/下执行search.script文件2次:monkey -f search.script 2
或者在windows下执行:adb shell monkey -f /data/local/tmp/search.script 2
4、若异常则需要确认app是否允许外部程序调取