monkey自定义脚本
自定义脚本稳定性测试
常规的monkey是执行随机的事件流,如果想让monkey测试某个特定的场景,这个时候需要自定义脚本。
用户需要先笔记好脚本再存放在手机上,通过启动monkey -f参数调用脚本来执行。
举个栗子:
启动淘宝,然后进入到首页,进行登录
需求分析:
1.思考步骤怎么进行
2.如何操作元素
3.将步骤转化为测试脚本
如何获取元素坐标
最简单的方法就是打开手机开发者模式“显示指针位置”,然后在屏幕上操作,导航栏上方就会显示坐标信息
monkey脚本API介绍
LaunchActivity(pkg_name,cl_name):启动应用的Activity,参数:包名和启动的应用的Activity
Tap(x,y,tapDuration):模拟一次手指点击事件,参数:x,y为控件的坐标,tapDuration为点击的持续时间
DispatchPress(keyName): 按键。参数: keycode。 详细的Android Keycode列表: http://blog.csdn.net/feizhixuan46789/article/details/16801429
RotateScreen(rotationDegree, persist): 旋转屏幕。 参数:rotationDegree为旋转角度, e.g. 1代表90度;persist表示旋转之后是否固定,0表示旋转后恢复,非0则表示固定不变。
DispatchFlip(true/false): 打开或者关闭软键盘。
LongPress(): 长按2秒。
PressAndHold(x, y, pressDuration): 模拟长按事件。
DispatchString(input): 输入字符串。
Drag(xStart, yStart, xEnd, yEnd, stepCount): 用于模拟一个拖拽操作。
PinchZoom(x1Start, y1Start, x1End, y1End, x2Start, y2Start, x2End, y2End, stepCount): 模拟缩放手势。
UserWait(sleepTime): 休眠一段时间
DeviceWakeUp(): 唤醒屏幕。
PowerLog(power_log_type, test_case_status): 模拟电池电量信息。
WriteLog(): 将电池信息写入sd卡。
RunCmd(cmd): 运行shell命令。
DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFlags): 向指定位置,发送单个手势。
DispatchPointer(downtime,eventTime,action,x,yxpressure,size,metastate,xPrecision,yPrecision,device,edgeFilags): 发送按键消息。
LaunchInstrumentation(test_name,runner_name): 运行一个instrumentation测试用例。
DispatchTrackball: 模拟发送轨迹球事件。
ProfileWait: 等待5秒。
StartCaptureFramerate(): 获取帧率
EndCaptureFramerate(input): 结束获取帧率
monkey脚本格式
主要包括两部分,一部分是头文件信息,一部分是具体的monkey命令
type = raw events //脚本类型
count = 1 //执行脚本次数
speed =1.0 //执行脚本速率
//下面是monkey命令
start data >>
具体的monkey脚本内容
monkeytest.txt
编写脚本
type = raw events
count = 1
speed = 1.0
#以下是monkey命令
start data >>
#1.启动app
LaunchActivity(com.taobao.taobao,com.taobao.tao.welcome.Welcome)
UserWait(5000)
#2.点击我的坐标
Tap(965,1874)
UserWait(3000)
#3.输入手机号
Tap(175.8,374.7)
DispatchString(13432165487)
UserWait(2000)
#4.输入密码
Tap(155.8,501.7)
DispatchString(123456)
UserWait(2000)
#5.点击登录按钮
Tap(521.5,644.7)
执行脚本
脚本先传到手机设备上,然后再执行
adb push 脚本路径\monkeytest.txt /sdcard/
adb shell monkey -f /sdcard/monkeytest.txt -v 1