MonkeyScript是一组可以被Monkey识别的命令集合
- 优点:MonkeyScript可以完成重复固定的操作
- 使用:adb shell monkey -f <scriptfile> <event-count>
一、MonkeyScript命令
1、DispatchTrackball —— 轨迹球事件
DispatchTrackball(long downtime,long eventtide,int action,float x,float y,float pressure,float size,int metastate,float xprecision,float yprecision,int device,int edgeflags)
【注意:按一个键需要两个轨迹球事件】
参数详解:
- long downtime指键最初被按下的时间
- long eventtide指事件发生的时间
- int action指具体操作的动作,如按下
- float x,float y指x和y的坐标
- float pressure压力事件的大小(0~1)
- float size指触摸的记事值(0~1)
- int metastate指当前按下mate键的标识
- float xprecision,float yprecision指x和y坐标的精确值
- int device事件的来源(0~x)
- int edgeflags指超出屏幕了范围
- action:0代表按下,1代表弹起
2、DispatchPointer ——点击事件
DispatchPointer(long downtime,long eventtide,int action,float x,float y,float pressure,float size,int metastate,float xprecision,float yprecision,int device,int edgeflags)
【注意:按一个键需要两个点击事件】
3、DispatchString——输入字符串命令
DispatchString(String text)
4、LaunchActivity —— 启动应用
LaunchActivity(package,Activity)
5、UserWait—— 等待事件
UserWait(1000)
6、DispatchPress——按下键值
DispatchPress(int keycode) ——keycode 66 回车键
二、MonkeyScript实战
在搜索框中输入查询词 —— 思考? 完成这个操作需要哪几步操作?
需要11个步骤:
1、启动App
2、点击地址栏
3、删除原有地址
4、输入www.baidu.com
5、点击回车键,让新地址到地址栏中
6、点击回车
7、点击搜索框
8、输入Helloween
9、点击回车键,让查询词到搜索框中
10、点击搜索按钮
11、等待结果
新建script文件:脚本如下显示:
1 typ=user 2 count=10 3 speed=1.0 4 start data >> 5 LaunchActivity(com.android.browser,com.android.browser.BrowserActivity) 6 UserWait(5000) 7 DispatchPointer(10,10,0,200,100,1,1,-1,1,1,0,0) 8 DispatchPointer(10,10,1,200,100,1,1,-1,1,1,0,0) 9 DispatchPress(112) 10 DispatchString(www.baidu.com) 11 DispatchPress(66) 12 UserWait(10000) 13 DispatchPointer(10,10,0,300,400,1,1,-1,1,1,0,0) 14 DispatchPointer(10,10,1,300,400,1,1,-1,1,1,0,0) 15 UserWait(1000) 16 DispatchString(besttest) 17 UserWait(3000) 18 DispatchPress(66) 19 UserWait(10000)
三、注意事项
- 脚本需要push到手机中才可以——push monkey.script /data/local/tmp
- 没有调试的功能,需要自己仔细去找问题
- 如果启动时并不是自己要测试的App,需要开发在Android的配置文件中加入相关配置 ——android:exported=”true”