1、<MonkeyScript>MonkeyScript是monkey的脚本语言,是一组可以被Monkey识别的命令集合,可以帮我们完成一系列的被固定的重复性操作。脚本优势:简单、快捷、不需要借助任何工具,只是运行一个脚本文件脚本缺点:只能简单实现坐标、按键等基本操作(根据像素点来进行操作)
2、<脚本格式>#头文件、控制monkey发送消息的参数type=ra嘛术铹砾w eventscount=10speed=1.0#以下为monk髫潋啜缅ey命令start data >>LaunchActivity(pkg_name,activity)DispatchPress(KEYCODE_ENTER)DispatchPress(KEYCODE_HOME)---->前三行是脚本头。count为脚本中包含的指令数目。speed为执行速度。---->start data>>后面是执行的命令。
3、<常见API>LaunchActivity(pkg_name, c盟敢势袂l_name): 启动应用的Activity。参数:包名和启动的Activity。Tap(x, y, tapDuration): 模拟一次手指单击事件。参数:x,y为控件坐标,tapDuration为点击的持续时间,此参数可省略。DispatchPress(keyName): 按键。注:keyName值可以百度android keycode列表获取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(): 唤醒屏幕。ProfileWait: 等待5秒。---->在android sdk路径-tools下,使用sdk中的工具hierarchyviewer.bat或者uiautomatorviewer.bat,获取API方法中控件位置(X,Y轴的坐标)。
4、<脚本举例>要求:打开浏览器,输入www.ningmengban.com, 退出浏览器。这个步骤进行重复压力测试。
5、---->脚本文件browser.txt编写内容如下:#头文件、控制monkey发送消蝌怦吩曰息的参数type=raw eventscount=10speed=1.0#以下为脚本正文start data >>#1.打开浏览器LaunchActivity(com.android.browser,com.android.browser.BrowserActivity)ProfileWait()#2.清空网址Tap(223,146)ProfileWait()DispatchPress(112)ProfileWait()#3.输入网址DispatchString(www.ningmengban.com)ProfileWait()#4.确认,载入网址DispatchPress(KEYCODE_ENTER)ProfileWait()#5.完成退出浏览器DispatchPress(KEYCODE_HOME)ProfileWait()
6、---->将browser.txt文件push到手机中adb pushD:\browser.txt data/local/tmpD:\browser.txt 为本地脚本文件路径及名称,data/local/tmp为手机路径---->运行脚本adb shell monkey -f data/local/tmp/browser.txt -v -v 200
7、<日志查看补充>---->先把日志输出到本地---->注意观察switch后面的内容,一般错误都会显示在这个后面---->ANR问题:日志中搜索ANR关键字---->奔溃问题:在日志中搜索Exception问题