优势:
1. 随意跳转页面,不受限制
2. 脚本容易实现,简单快速
3. 事件更多,比如,长按事件
4. 事件可定制调整,比如:指定一些区域不点击
5. 更容易测试交互影响
6. 整机测试,交互更彻底
7. 自带错误监听,一旦出错,可以马上停止
适用情况:
- ANR和CRASH异常情况
- 低概率很难复现的异常
随机脚本序列自动生成:
大事件
长按事件 ——> 生成事件数 ——>随机组合生成事件数 ——>执行测试
命令事件
Monkey脚本生成工具的编写。
#头文件控制Monkey发送消息的参数
type=raw events
count=10
speed=1.0
#以下是monkey命令
start data>>
DispatchPress(KEYCODE_HOME)
DispatchPress(KEYCODE_MENU)
API:
LaunchActivity(Pkg_name,cl_name) #启动应用的Activity
Tap(x,y,tapDuration) #模拟一次手指单击事件
DispatchPress(KeyName) #按键
RotateScreen(rotationDegree,peresist) #选择屏幕
DispatchFlip(true/false) #打开或者关闭软键盘
LongPress() #长按两秒
PressAndHold(x,y,pressDuration) #模拟长按事件
DispatchString(input)#输入字符串
Drag(xStart,yStart,xEnd,yEnd,stepCount) #用于模拟一个拖拽操作
PinchZoom(pt1xStart,pt1yStart,pt1xEnd,pt1yEnd,Pt2xStart,Pt2yStart,pt2xEnd,pt2yEnd,stepCount) #模拟缩放手势
UserWait(sleepTiem) #让脚步中断一段时间
DeviceWakeUp() #唤醒屏幕
PowerLog(power_log_type,test_case_status)#模拟电池电量信息
WriteLog()#将电池信息写入SD卡
RunCmd(cmd)#运行shell命令