zoukankan      html  css  js  c++  java
  • MonkeyScript_API

    Monkey Script 常用命令介绍

    执行Monkey 脚本的命令:

    Adb shell monkey -f <scriptfile> <event-count>

    Scritpfile:我们编写的脚本文件

    Tips:

    Dispatch 派遣,调用

    1、DispatchTrackball命令 轨迹球事件

       DispatchTrackball (

    long downtime,键最初被按下的时间

    long eventide,事件发生的时间

    int action, 操作具体是按下还是弹起

    float x,x坐标点

    float y,y坐标点

    float pressure,压力的事件大小

    float size,触摸的

    int metastate,当前按下的meta键的标识

    float xprecision,x坐标的精确值

    float yprecision,y坐标的精确值

    int device,事件的来源

    int edgeflags超出了屏幕的范围

    )

    Action 0表示按下,1表示弹起,xy代表的坐标点

    2、DispatchPointer命令 点击事件

       DispatchPointer (

    long downtime,键最初被按下的时间

    long eventide,事件发生的时间

    int action, 操作具体是按下还是弹起

    float x,x坐标点

    float y,y坐标点

    float pressure,压力的事件大小

    float size,触摸的按钮尺寸

    int metastate,当前按下的meta键的标识

    float xprecision,x坐标的精确值

    float yprecision,y坐标的精确值

    int device,事件的来源

    int edgeflags超出了屏幕的范围

    )

    Action 0表示按下,1表示弹起,xy代表的坐标点

    3、DispatchString命令 输入字符串事件

    用法:DispatchString (String text)

    4、LaunchActivity命令 启动应用(启动APP

    LaunchActivity (package,Activity)

    Package: 传入的包名

    Activity: 要启动的页面的名称

    5、UserWait命令 等待事件

    UserWait (1000) 单位:毫秒

    6、DispatchPress命令 按下键值

    DispatchPress (int keycode) #keycode 66 回车键

    如要输入回车键,写法:

    DispatchPress(66)

    实例:在搜索框中输入查询词

    Typ=user

    Count=10

    Speed=1.0

    Start data >>

    以上4行原文照抄,放在脚本头部。目前不知道什么意思

    1、启动APP

    launchActivity (包名,包名.MainActivity)

    Userwait (2000)

    2、点击输入框

    dispatchPointer (10,10,0,100,100,1,1,-1,1,1,0,0) 按下

    dispatchPointer (10,10,1,100,100,1,1,-1,1,1,0,0) 弹起

    3、输入查询词

    dispatchString (test)

    userWait (1000)

    4、点击键盘上的回车键

    dispatchPress (66)

    userWait (1000)

    5、点击搜索按钮

    dispatchPointer (10,10,0,400,100,1,1,-1,1,1,0,0) 按下

    dispatchPointer (10,10,1,400,100,1,1,-1,1,1,0,0) 弹起

    userWait (6000)

    6、等待结果的出现

    7、点击clear按钮

    dispatchPointer (10,10,0,300,100,1,1,-1,1,1,0,0) 按下

    dispatchPointer (10,10,1,300,100,1,1,-1,1,1,0,0) 弹起

    userWait (3000)

    运行脚本命令:adb shell monkey -f 脚本名 .script  2(运行2次)

    把脚本push到手机里:

    Adb push 脚本名 手机文件夹位置

    手机里执行,不用adb shell

    Adb shell 进入手机

    Cd /data/local/tmp

    直接写: monkey -f *******

    上面第一行语句没有生效,原因:源码里面androidmanifest.xml里面

    <activity

    Android:exported=”true”(如果没有这个属性值,APP是不允许被外部命令调用的)>

    </activity>

     

    获取坐标点

    安装的Android sdk tools文件夹下有一个 uiautomatorviewer 工具

    启动 uiautomatorviewer

    . / uiautomatorviewer

    启动后,会打开一个操作窗口。左上角有手机图标,点击后会获取手机界面上的元素。

    元素解析:

    Node detail 窗口下有一个bounds

    Bounds [16,97] [376,145] 前面[]中表示元素左上角顶点的值,后面的[]是右下角的

    x y   x   y

    定位的x值在bounds2x值之间就可以准确定为到该元素

    定位的y值在bounds2y值之间就可以准确定为到该元素

     

  • 相关阅读:
    luogu2394 yyy loves Chemistry I
    luogu2393 yyy loves Maths II
    2018年01月刷题学习日记
    luogu2590 [ZJOI2008]树的统计
    HDU 2087 剪花布条
    HDU 1686 Oulippo
    HDU 1711 Number Sequence(KMP模板)
    HDU 3336 Count the String(KMP+DP)
    UVa 1614 奇怪的股市
    UVa 12174 Shuffle(滑动窗口)
  • 原文地址:https://www.cnblogs.com/liuyun66535309/p/8721802.html
Copyright © 2011-2022 走看看