zoukankan      html  css  js  c++  java
  • monkey命令

    monkey 命令

    monkey不单只能做稳定性测试,还可以用来进行自动化测试,不过,因其提供的命令比较少,而且是通过屏幕分辨率进行定位元素,所以,monkey编写的自动化测试脚本的兼容性不是很好,也就是说,如果在同一个屏幕分辨率下,可以正常运行。

    但是,如果换一个分辨率的设备,有可能导致定位不到之前的元素,因为,坐标位置发生了改变。下面是一下,monkey做自动化测试脚本开发时要用到的常用命令:

    DispatchPointer 命令

    该命令用于向一个坐标点(x坐标,y坐标)发送手势消息

    命令格式:DispatchPointer(long downTime,long eventTime, int action ,float x, float y ,float pressure ,float size , int metaState,float xPrecision, float yPrecision, int device, int edgeFlags);

    参数介绍:

    downTime:表示键最初被按下的时间

    eventTime:表示事件发生的时间

    action:表示发送消息的类型;0(按下),1(抬起),2(移动)

    x:表示x坐标轴

    y:表示y坐标轴

    pressure:表示当前事件的压力,0(根本没有压力),1(正常压力)

    size:表示触摸的近似值,范围0~1.

    metaState:表示当前按下的meta键的标识,meta键指的是ALT, SHIFT, CAPS_LOCK

    xPrecision:表示X坐标精确值

    yPrecision:表示y坐标精确值

    device:表示事件来源

    edgeFlags:表示边缘的指示,如果有的话,在该位置触发位移事件

    通常,我们只需要设置前5个关键参数,其他的几个参数可以设置为0.

     格式:

    DispatchPointer(0,0,0,x,y,0,0,0,0,0,0,0)  按下操作,坐标点(x,y)

    DispatchPointer(0,0,1,x,y,0,0,0,0,0,0,0) 抬起操作,坐标点(x,y)

    DispatchPointer(0,0,2,x,y,0,0,0,0,0,0,0) 移动操作,坐标点(x,y)

    例子:

    DispatchPointer(0,0,0,100,236,0,0,0,0,0,0,0)

    DispatchPointer(0,0,2,100,685,0,0,0,0,0,0,0)

    DispatchPointer(0,0,1,100,685,0,0,0,0,0,0,0)

    表示按下坐标(100,236)移动到坐标(100,685)然后抬起操作

    DispatchTrackball命令

    该命令用于向一个坐标点发送跟踪消息

    命令格式:DispatchTrackball(long downTime,long eventTime,iint action,float x,float y,float presure,float size,int metaState ,float xPrecision ,float yPrecision, int device,int edgeFlags)

    该命令的使用和参数运用于DispatchPointer是一样

    DispatchKey 命令

    该命令用于发送按键消息给指定的设备或者模拟器

    命令格式:DispatchKey(long downTime, long eventTime, int action,int code,int repeat, int metaState,int device,int scancode)

    DispatchKey(0,0,0,29,0,0,0,0)

    DispatchKey(0,0,1,29,0,0,0,0)

    code值为29,表示“KEYCODE_a”,意思是按下a键,然后抬起,也就是:输入字母a,也可以换种方法写:

    DispatchPress(KEYCODE_a)   这两个的效果是一样的

    DispatchFlip命令

    该命令用于打开或关闭软盘

    命令格式:DispatchFlip(booleam keyboardOpen)

    当keyboardOpen的指为true时,表示打开软盘,为false时,表示为关闭软盘

    LaunchActivity命令

    该命令用于启动任意引用的一个活动界面

    命令格式:LaunchActivity(String pkg_name , String cl_name)

    参数介绍:

    pkg_name:是要启动的应用包名

    cl_name:是要启动的活动名称

    LaunchActivity(com.test.app,com.test.swh.activity.WelcomeActivity)

    表示启动com.test.app包中的com.pttz.swh.activity.WelcomeActivity应用活动

    LaunchInstrumentation 命令

    该命令用于运行一个仪表盘测试用例

    命令格式:LaunchInstrumentation(test_name,runner_name)

    参数介绍:test_name为要运行的测试用例名称,runner_name为运行测试用例的类名

    UserWait 命令

    该命令用于让脚步等待一段时间

    命令格式:UserWait(long sleeping)

    sleeping单位为毫秒

    UserWait(5000)表示等待5秒

    RunCmd 命令

    该命令用于在设备上运行shell命令

    命令格式:RunCmd(cmd)

    参数介绍:cmd为要执行的shell命令

    Tap 命令

    该命令用于模拟一次手指单击事件

    命令格式:Tap(x,y,tapDuration)

    参数介绍:x,y为坐标的横纵坐标值,tapDuration为可选项,表示单击的持续时间

    ProfileWait 命令

    该命令用于等待5秒钟

    命令格式:ProfileWait()

    DeviceWakeUp 命令

    该命令用于唤醒设备并解锁

    命令格式:DeviceWakeUp()

    DispatchString 命令

    该命令用于向shell输入一个字符串

    命令格式:DispatchString(input)

    参数介绍:input为要输入的字符串内容

    DispatchString(hello)

    示例脚本:

    type=raw events
    count=100
    speed=1.0
    start data >>

    LaunchActivity(com.test.aqb,com.test.swh.activity.WelcomeActivity)
    UserWait(3000)

    //启动app后等待3秒

    DispatchPointer(0,0,0,30,1050,0,0,0,0,0,0,0)
    DispatchPointer(0,0,1,30,1050,0,0,0,0,0,0,0)

    //点击输入框

    DispatchPress(KEYCODE_h)
    DispatchPress(KEYCODE_o)
    DispatchPress(KEYCODE_l)
    DispatchPress(KEYCODE_l)
    DispatchPress(KEYCODE_e)

    //输入hello内容

    ... ...

  • 相关阅读:
    Verilog模块概念和实例化#转载自Jason from Lofter
    P4-verilog实现mips单周期CPU
    P0-Logisim简单部件与有限状态机
    终——提问回顾与个人总结
    技术博客——PyPDF2 & Reportlab 使用
    结对——软工第一次结对项目
    分析——个人第二次博客作业
    交点——软工第一次个人项目作业
    启——软工第一次个人博客作业
    再会,旧时光——软工热身作业
  • 原文地址:https://www.cnblogs.com/JcHome/p/8282446.html
Copyright © 2011-2022 走看看