zoukankan      html  css  js  c++  java
  • 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

    转载请附上原文链接。
  • 相关阅读:

    Windows终端无法通过cd切换盘符目录
    linux工程相对路径读取文件
    Ubuntu常用命令的安装
    vue项目的创建和遇到的一些问题
    超详细!Head First:HTML and CSS的读书笔记
    laravel开发环境部署遇到的问题和个人感受
    java并发:线程池之ScheduledExecutorService
    java并发:线程池之饱和策略
    java并发:线程池之ThreadPoolExecutor
  • 原文地址:https://www.cnblogs.com/bugbreak/p/11972296.html
Copyright © 2011-2022 走看看