MonkeyScript API 文档

2023-05-16

一、前言

本文档记录了和 MonkeyScript 相关的 API 文档,由承香墨影整理。所有 API 描述均来自 MonkeySourceScript.java 。

也可以自行查看源码,在线阅读地址:

http://androidxref.com/5.1.1_r6/xref/development/cmds/monkey/src/com/android/commands/monkey/MonkeySourceScript.java

希望在阅读本文档前,你已经掌握了基本的 Monkey Script 的操作,可以在本公众号回复『MonkeyScript如何写脚本』

二、MonkeyScript API

1、点击事件(DispatchPointer)

DispatchPointer 命令用于向一个指定的坐标位置,发送单个手势消息,一般用它来模拟点击的操作。

它完整的方法签名是:

DispatchPointer ( downTime , eventTime , action , x , y , pressure , size , metaState , xPrecision , yPrecision , device , edgeFlags)

其实这么多参数,只需要关注action 、 x 、y 三个参数即可。

  • action :事件是按下还是抬起,0 表示按下,1 表示抬起。
  • x、y:表示当前事件触发的X轴和Y轴的坐标。

也就是说,两个 DispatchPointer 命令加在一起,分别表示 按下 和 抬起 ,这表示一次点击操作,其余的参数,统一设置为 0 即可。

2、按键事件(DispatchKey)

DispatchKey 主要是用于发送一些 Android 标准的 EventKey 按键消息。但是需要写对应的值。

它的方法签名如下:

DiapatchKey ( downTime ,eventTime ,action ,code ,repeat ,metaState ,device ,scancode)

DispatchKey 实际上也只需要关注,action、code、repeat即可。

  • action : 消息的类型。0 表示按下,1 表示抬起。
  • code:按键的值。参考KeyEvent。
  • repeat:按键重复的次数

具体的键值,可以通过官网查询:

https://developer.android.com/reference/android/view/KeyEvent.html

3、轨迹球(DispatchTrackball)

DispatchTrackball 命令用于像一个指定位置发送单个轨迹球的消息。它的方法前面也与 DispatchPointer 一样。

4、旋转屏幕(RotateScreen)

RotateScreen 命令用于发送旋转测试设备屏幕方式的事件。

它的方法签名如下:

RotateScreen ( rotationDegree , persist)

其中的参数:

  • rotateDegree:旋转的角度。
  • persist:是否保持旋转前的状态。0 为不保持,1 为保持。

rotateDegree,可配置的角度可以参考 android.view.Surface里的常量进行配置,可选的角度有 4 个:

  • ROTATION_0
  • ROTATION_90
  • ROTATION_180
  • ROTATION_270

5、软键盘开关(DispatchFlip)

DispatchFlip 命令用于打开或者关闭软键盘。它的方法签名如下:

DispatchFlip (keyboardOpen)

其中的参数,true 表示打开,false 表示关闭。

6、键盘事件(DispatchPress)

DispatchPress 命令用于模拟敲击键盘的事件。

它的方法签名如下:

DispatchPress( keyName )

7、启动Activity(LaunchActivity)

LaunchActivity 命令用于打开任意应用的一个页面,但是前提条件是打开的Activity 需要属性 android:exported 被设定为true,才可以通过 LaunchActivity 打开。它的方法签名如下:

LaunchActivity ( pkg_name , act_name )

它的两个参数,分别表示打开的 App 的包名和打开的 Activity 的名称。

8、等待(UserWait)

UserWait 命令用于让脚本中断执行一段时间。因为是脚本执行,多个事件之间执行的速度会非常的快,有时候我们需要等待一些事件触发之后的结果返回,需要等待一段时间之后,再继续执行脚本,这个时候就可以使用 UserWait 。

它的方法签名如下:

UserWait ( sleepTime )

sleepTime 的单位是毫秒。

9、输入字符串(DispatchString)

DispatchString 命令用于向 Shell 输入一个字符串。

它的方法签名如下:

DispatchString( input )

没什么好解释的, input 就是一个字符串即可,但是 MS 对中文的支持并不好,所以尽量输入英文的测试数据。

10、长按(LongPress)

LongPress 命令用于模拟长按时间,标准为长按 2s 。它是一个无参的方法,直接调用即可。

11、运行 Shell 命令(RunCmd)

RunCmd 命令用于在设备上运行 shell 命令。当然这些 shell 命令必须是当前待测试设备支持的 shell 命令。

它的方法签名如下:

RunCmd ( cmd )  

参数 cmd 就是需要执行的 shell 命令。

12、手指单击(Tap)

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

它的方法签名如下:

Tap( x ,y ,tapDuration)

tapDuration 参数,表示当前单击的持续时间,可选参数。

13、唤醒设备并解锁(DeviceWakeUp)

DeviceWakeUp 命令可以唤醒设备,并进行解锁。当然需要是一个无加密的设备才可以,有数字密码或者图形密码,都会导致失败。

14、等待5s(ProfileWait)

ProfileWait 命令和 UserWait 类似,但是它已经设定好等待的时长,就是 5s ,直接调用即可。

15、长按消息(PressAndHold)

PressAndHold 命令用于模拟一个长按事件,和 LongPress 类似,但是它是可以定制长按时长的。

它的方法签名如下:

PressAndHold( x, y, pressDuration)

16、拖拽(Drag)

Drag 命令用于模拟一个按住拖拽的动作。

它的方法签名如下:

Drag( xStart, yStart, xEnd, yEnd, stepCount)

前面四个参数分别表示了事件开始的坐标点,和结束的坐标点。唯一需要解释的是stepCount ,因为拖拽事件是一组连续的事件,这个参数可以指定当前拖拽事件,是由多少个小事件组成的,越多,越连贯。

17、缩放事件(PinchZoom)

PinchZoom 命令用于模拟缩放手势。

它的方法签名如下:

PinchZoom( pt1xStart, pt1yStart, pt1xEnd, pt1yEnd, pt2xStart, pt2yStart, pt2xEnd, pt2yEnd, stepCount)

它的参数分别表示了两个手指的开始位置和结束位置,并且设定了完成了多少次缩放操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MonkeyScript API 文档 的相关文章

  • 需要帮助:google、yahoo、hotmail 联系人 api [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想从 Gmail Windows Live 和 Yahoo 导入地址簿联系人 就像 Facebook 一样 在 facebook 中 当
  • Shutterfly 订单 API 。

    我找到了这个网站 http www shutterfly com documentation api OrderImage sfly http www shutterfly com documentation api OrderImage
  • Android - API 级别 21 中的日期 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 你好 我对 Android 还很陌生 目前我对本地日期 或我尝试过的任何其他日期格式 有一个大问题 L
  • 在 PHP 中 RESTful 上传文件

    因此 我正在编写一个脚本 该脚本将通过 RESTful 接口将视频上传到服务器 文档告诉我 我应该将数据 包括二进制视频文件 作为 POST 请求的一部分传递 我知道如何设置我的 POST 变量 但我不知道如何处理二进制数据 API 说我应
  • 如何使用放心发送Content-Type表单数据请求?

    我需要使用 Rest Assured 调用表单数据类型 API 这是我的代码 private Map
  • 国际天气 API (PHP) [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找最好的 免费 便宜 国际天气 PHP API 有什么建议么 看看这个答案 https sta
  • 使用 Python API 2.0.0.1 运行 Ansible Playbook

    安塞布尔版本 2 0 0 1 我现在已经四处寻找了很多 我发现的大多数文档要么不完整 要么已弃用 这篇文章适用于1 8 4版本 即 https stackoverflow com questions 27590039 running ans
  • 如何将我的应用程序的目标 API 级别从 23 更改为 26

    当我尝试将我的应用程序上传到 Google Play 控制台时遇到问题 API 级别必须为 26 而我的应用程序刚刚使用 23 版本开发 现在我不知道如何从 23 更改此 API 版本到 26 使其正常工作 请帮帮我 Steps Go to
  • 如何以编程方式在 Google 文档中创建文档?

    The Google 文档列表 API 的文档 http code google com apis documents overview html 好像说可以创建本地文档并上传 有没有办法实际创建和编辑文档on通过 API 的 Google
  • 保护客户端 API 的安全

    我正在为基于 JavaScript 的游戏构建服务器端 API 和客户端库 其中必须确保两个非常重要的功能的安全 用户每次游玩都必须扣款 我们必须确保提交的分数是玩家实际获得的分数 解决第一个问题看起来很简单 在每次游戏开始时 我们都会调用
  • 同步和异步 API

    我正在开发一个库 它提供一些耗时的服务 我需要每个 API 有两个版本 一个用于同步函数调用 另一个用于异步 图书馆用户应决定使用哪个版本 服务结果可能对于系统继续运行 同步调用 至关重要 可能需要在不同的工作线程中完成相同的操作 因为结果
  • PyCurl 请求在执行时无限挂起

    我编写了一个脚本来从 Qualys 获取扫描结果 每周运行一次以收集指标 该脚本的第一部分涉及获取过去一周运行的每个扫描的引用列表以进行进一步处理 问题是 虽然有时这会完美地工作 但有时脚本会挂在c perform 线 手动运行脚本时这是可
  • 如何安装适用于 Windows C++ 的最新版本 OpenGL?

    我正在使用 Visual Studio 2010 运行 Windows 7 包含的 OpenGL 版本 include 是版本 1 1 我希望使用合理的当前版本 某种版本 3 或 4 我需要做什么才能达到该状态 OpenGL SDK 页面位
  • 使用 SAS EG 通过代理从 API 下载 JSON 文件

    我正在尝试使用瑞士当局提供的 API 对公司网络内的地址进行地理编码 我的公司使用带有用户名和密码的代理服务器 我是 SAS EG 的新手 这是我迄今为止拥有的代码 我必须匿名一些内容才能被允许在此处发布 filename response
  • 通过 Office API 将多个 Word 文档保存为 HTML

    我有大量的Word文档需要解析 由于它们都是从同一个模板创建的 我认为最好的方法是将它们保存为 HTML 文件并解析 HTML 本身 虽然将单个 Word 文档保存为 HTML 相当容易 但我还没有找到从 Word 内部执行批量过程的方法
  • jQuery - 解析 JSON 数据 - 变量名称遇到问题

    我第一次深入研究 JSON 数据的使用 不过我有一些使用 jQuery 的经验 我发布到此 URL tumblr api jyoseph com api read json 我想做的是输出返回的 json 到目前为止我所拥有的 docume
  • Swift:转义闭包捕获非转义参数“onCompletion”

    我的 swift 有问题 我正在尝试发送 API 请求 然后检索数据 但收到以下错误消息 Swift 转义闭包捕获非转义参数 onCompletion 有谁知道我该如何解决这个问题 提前致谢 Code class RestApiManage
  • 发送 Microsoft Graph 请求事件返回 400

    我能够通过将 JSON 请求发布到https graph microsoft com v1 0 me calendar events https graph microsoft com v1 0 me calendar events 我已经
  • 如何在WCF Rest服务中从流上传图像

    我正在尝试创建 wcf 服务 该服务将上传 pdf doc xls 图像等文件 但 pdf txt 文件正在上传并正确打开 但是当我尝试上传图像文件时 文件正在上传 但是图像不可见 OperationContract WebInvoke M
  • 您可以使用 JSONP 检索您的 Skype 状态吗?

    有谁知道使用 JSONP 获取 Skype 状态的 URL 到目前为止我只找到了一个 XML 状态 URL http mystatus skype com username xml 我正在尝试使用 AJAX 查询 Skype 是的 我可以使

随机推荐

  • Ubuntu从源码编译LGSVL搭建环境

    上一周借助校园里面的教育网终于git clone成功了Apollo5 5的官方master repository xff0c 并build其gpu版本的模拟器 xff0c 根据最新的Apollo5 5 master文件描述 xff0c 桥接
  • #移动开发者大会#总结

    移动开发者大会 总结 xff08 有限的发言者 xff09 xff1a 李开复 xff1a 1 Android将在中国一骑绝尘 今年底中国将有4000万台Android手机 xff0c 2000万台iPhone 明年底总数会翻一倍 xff0
  • 河北金融学院赴京参加2011移动开发者大会有感

    记从被邀请到参加移动开发者大会的全过程 10月底 xff0c 突然接到潘永强老师的邀请 参加2011移动开发者大会 xff0c 当时我们真的很兴奋 xff0c 因为对于我们来说 xff0c 去北京是第一次 xff0c 去参加如此大型的会议更
  • 2011河北金融学院CSDN高校俱乐部动员大会

    2011年11月24日下午二点 xff0c 我校CSDN高校俱乐部动员大会在教学楼B123举行 该次大会主要针对大一学生召开 xff0c 号召大家了解并加入CSDN高校俱乐部 俱乐部指导老师王洪涛老师 计算机协会指导老师杜光辉老师 以及优秀
  • “激情与梦想 我的程序员之路”—2012高校巡讲

    2012年3月29日下午2点半 xff0c CSDN高校俱乐部项目主管潘永强老师在我校进行了一场以 激情与梦想 xff0c 我的程序员之路 为主题的演讲 信息管理与工程系团总支书记陈春燕 指导老师王洪涛以及杜光辉 刘冲等7位老师出席了该次讲
  • TX2下编译qt程序步骤

    1 将 aarch64 qt 5 15 1 tar bz2 解压到 opt 2 在 bashrc 添加qt的库和路进 art 64 art desktop opt cat bashrc tail n 2 export LD LIBRARY
  • 电子政务三网架构

    国家电子政务网络架构由政务内网 政务专网 政务外网组成 政务内网是涉密网络 xff0c 在上面传输涉密公文 xff0c 属高度机密的网络 xff0c 覆盖范围尽可能小 xff0c 它与国际互联网物理隔离 政务专网是党政机关非涉密办公网 xf
  • SDN介绍(什么是SDN)

    SDN介绍 一 xff0e 什么是SDN 二 xff0e SDN解决什么问题 xff1f 三 xff0e 传统网络概念和结构体系传统网络数据控制与转发 xff1a 传统网络架构 xff1a 四 xff0e SDN概述SDN xff08 So
  • 我的2011--快乐最重要

    呵呵 xff0c 听着郭德纲和于谦老师的相声 xff0c 开始写这篇文章 xff0c 刚毕业不到六个月 xff0c 就换了一份工作 xff0c 很多事情都在意料之外 xff0c 很多事情又在意料之中 xff0c 总之 xff0c 以后回忆到
  • 朱金灿:韧性、悟性、具备快速学习能力是我喜欢的特质

    英雄会是CSDN旗下针对国内IT技术领域专家展示和交流的平台 通过线下线上的互动形式 xff0c 为CSDN社区专家提供更多学习 合作 宣传的机会 英雄会后续将在北上广深等国内一二线城市建立分会 xff0c 各个分会后期将组织技术交流活动
  • 本地vnc(TigerVNC)远程linux server,提示拒绝连接

    可能原因 amp 分析 xff1a 可确认下初始的系统环境变量是否被改动 xff0c 如新安装的anaconda自动添加到环境变量 xff0c 且放置在系统的原有环境变量的前面 xff0c 可尝试将后加的环境变量编辑到后面 xff0c 再重
  • 高质量嵌入式Linux C编程第一次博客作业

    1 xff1a linux 与 Unix的关系 xff1f 某些PC机的Unix和Linux在实现方面相类似 几乎所有的商业Unix版本都基本支持同样的软件 程序设计环境和网络特性 然而 xff0c Linux和Unix的商业版本依然存在许
  • java enum(枚举)使用详解 + 总结

    enum 的全称为 enumeration xff0c 是 JDK 1 5 中引入的新特性 xff0c 存放在 java lang 包中 下面是我在使用 enum 过程中的一些经验和总结 xff0c 主要包括如下内容 xff1a 1 原始的
  • RBAC用户、角色、权限、组设计方案

    设计一个灵活 通用 方便的权限管理系统 在这个系统中 xff0c 我们需要对系统的所有资源进行权限控制 xff0c 那么系统中的资源包括哪些呢 xff1f 我们可以把这些资源简单概括为静态资源 xff08 功能操作 数据列 xff09 和动
  • ssh 怎样以root用户登录

    sudo vim etc ssh sshd config 找到并用 注释掉这行 xff1a PermitRootLogin prohibit password 新建一行 添加 xff1a PermitRootLogin yes 重启服务 s
  • python 函数内部修改外部变量

    如果内部修改外部变量需要nonlocal xff0c global def f1 print 34 in f1 34 num 61 111 def f2 nonlocal num num 61 222 print num f2 print
  • python 列表生成式将两个列表组合

    l1 61 1 2 3 4 5 l2 61 10 20 30 40 50 l3 61 x y for x in l1 for y in l2 if y x 61 61 10 l4 61 x y for x in l1 for y in l2
  • python monkey脚本

    import wx import wx xrc import os import threading import thread import logging import re import time import csv import
  • tiny210 ubuntu下sd卡分区

    1 ubuntu实现SD Flasher exe原理 友善官方给出的烧录uboot的工具是SD Flasher exe xff0c 这个工具只能在windows下使用 由于本人电脑无法打开这个工具 xff0c 所以在windows下无法制作
  • MonkeyScript API 文档

    一 前言 本文档记录了和 MonkeyScript 相关的 API 文档 xff0c 由承香墨影整理 所有 API 描述均来自 MonkeySourceScript java 也可以自行查看源码 xff0c 在线阅读地址 xff1a htt