入门monkeyrunner3-monkeyrunner官方文档第二部分
MonkeyDevice
表示一个设备或模拟器的工作站上运行可以访问的monkeyrunner类 monkeyrunner
。
这个类是用来控制Android设备或模拟器。该方法发送UI事件,检索信息,安装和删除应用程序,并运行应用程序。
通常你不必创建一个实例MonkeyDevice
。相反,你使用 MonkeyRunner.waitForConnection()
从一个设备或模拟器连接创建一个新的对象。例如,代替使用:
newdevice = MonkeyDevice ()
你可以使用:
newdevice = MonkeyRunner 。为waitForConnection ()
总结
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
string | DOWN | 使用这种与类型 的参数 press() or touch() 发送DOWN事件。 |
|||||||||
string | UP | 使用这种与类型 的参数fpress() or touch() 发送事件。 |
|||||||||
string | DOWN_AND_UP | 使用这种与类型 的参数 press() or touch() 发送紧跟一个UP事件DOWN事件。 |
Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
void | broadcastIntent (string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, iterable flags)
广播一个意向这个装置中,如果意图是从一个应用程序来。.
|
||||||||||
void | drag (tuple start, tuple end, float duration, integer steps)
模拟拖动手势(触摸,保持和移动)设备的屏幕上。
|
||||||||||
object | getProperty (string key) | ||||||||||
object | getSystemProperty (string key)
. 。该API相当于
adb shell getprop <key>. 这是由平台开发商提供的使用。
|
||||||||||
void | installPackage (string path)
安装在packageFile包含到该设备的Android应用程序或测试包。如果应用程序或测试包已安装,它被替换。
|
||||||||||
dictionary | instrument (string className, dictionary args)
运行Android的下仪表指定的组件,并返回结果在字典中的具体格式由组件正在运行所决定的。该组件必须已经存在
|
||||||||||
void | press (string name, dictionary type)
发送按类型由键码指定的键指定的关键事件。
|
||||||||||
void | reboot (string into)
重新启动该装置经入bootloadType指定的引导程序。
|
||||||||||
void | removePackage (string package)
从该设备删除指定的软件包,包括数据和缓存。
|
||||||||||
object | shell (string cmd)
执行一个
ADB shell命令并返回结果,如果有的话。 |
||||||||||
void | startActivity (string uri, string action, string data, string mimetype, iterable categories dictionary extras, component component, flags)
通过发送从提供的参数构建一个Intent启动该设备上的活动。
|
||||||||||
MonkeyImage |
takeSnapshot() | ||||||||||
void | touch (integer x, integer y, integer type)
发送按类型对由x和y指定的屏幕位置指定到触摸事件。
|
||||||||||
void | type (string message) | ||||||||||
void | wake ()
唤醒该设备的屏幕。
|
Constants
公共方法
void broadcastIntent ( string uri, string action, string data, string mimetype, iterablecategories dictionary extras, component component, iterable flags)
广播一个意向这个装置中,如果意图是从一个应用程序来。见意向
有关参数的更多信息。
Arguments
uri | uri的意图 (see Intent.setData() ). |
---|---|
action | 这个意图的动作(see Intent.setAction() ). |
data | 数据URI这个意图( (see Intent.setData() ). |
mimetype | MIME类型的意图 (see Intent.setType() ). |
categories | 包含定义的类别为这个意图字符串可迭代的数据结构 (seeIntent.addCategory() ). |
extras | 额外的这个意图数据字典(see Intent.putExtra() for an example).
密钥对于每个字典项目应该是一个字符串。该项目的值可以是任何简单的或结构化的数据类型 |
component | 此意图的组件 (see ComponentName ). 使用这个参数会直接意图特定类中的特定Android包。 |
flags | 含标志可迭代的数据结构,控制如何目的是处理 (seeIntent.setFlags() ). |
void drag ( tuple start, tuple end, float duration, integer steps)
模拟拖动手势(触摸,保持和移动)设备的屏幕上。
参数
start | 起点拖动动作的,在一个形式的元组 (X,Y),其中x和y是整数。 |
---|---|
end | 拖动手势的结束点,在一个形式的元组(X,Y),其中x和y是整数。 |
duration | 拖动动作在几秒钟的时间。默认为1.0秒。 |
steps | 的步数时的内插点取。默认值是10。 |
object getProperty (string key)
给定的系统环境变量的名称,将返回此设备其值。
Arguments
key | 系统环境变量的名称。可用的变量名称都列在 表1属性变量名本主题的末尾。 |
---|
Returns
-
- 该变量的值。的数据格式,根据所要求的变量而变化。
object getSystemProperty (string key)
Synonym for getProperty()
.
Arguments
key | 系统环境变量的名称。可用的变量名称都列在 表1属性变量名。 |
---|
Returns
-
- 该变量的值。的数据格式,根据所要求的变量而变化。
void installPackage (string path)
安装在packageFile包含到该设备的Android应用程序或测试包。如果应用程序或测试包已安装,它被替换。
Arguments
path | 中的完全限定路径和文件名的.apk 文件进行安装。 |
---|
dictionary instrument ( string className, dictionary args)
运行了Android仪器指定的组件,并返回结果在字典中的具体格式由组件正在运行所决定的。该组件必须已经存在此设备上。
使用这种方法来启动一个测试用例,使用Android的测试用例类之一。请参见测试基础,以了解更多关于单元测试与Android测试框架。
Arguments
className | 已安装此设备上,在标准格式软件包名/类名,其中包名是的Android包名称的Android的组件的名称.apk文件 在此设备上的文件,类名是一个Android组件的类名(活动,ContentProvider的,服务,或BroadcastReceiver的),在该文件中。这两个包名和类名必须是完全合格的。看到 组件名 的更多细节。 |
---|---|
args | 字典包含标记和他们的价值观。这些被传递到组件,因为它被启动。如果标志不采取价值,它的字典值设置为空字符串。 |
Returns
-
-
字典包含组件的输出。字典的内容由组件本身定义的。
如果您使用
InstrumentationTestRunner
的组件名参数作为类名,然后将结果字典包含单键“流”。“流”的值是一个字符串,包含测试输出,仿佛InstrumentationTestRunner
是在命令行中运行。此输出的格式中描述 的测试中其他的IDE。
-
void press (string name, integer type)
通过发送指定的关键事件类型
由指定的键 的键码
。
Arguments
name | 发送键码的名称。见的KeyEvent 为键码名称的列表。使用的键码的名字,而不是它的整数值。 |
---|---|
type | 送的键事件的类型。允许的值是 DOWN ,UP 和 DOWN_AND_UP 。 |
void reboot (string bootloadType)
重新启动该设备进入由指定的引导程序bootloadType
。
Arguments
into | 引导程序的类型重启进入。允许的值是“引导程序”,“恢复”或“无”。 |
---|
void removePackage (string package)
从该设备删除指定的软件包,包括数据和缓存。
Arguments
package | 的的Android包名.apk文件 在此设备上的文件。 |
---|
object shell (string cmd)
执行一个ADB
shell命令并返回结果,如果有的话。
Arguments
CMD | 该命令在执行亚行 的shell。这些命令的形式,题目中所描述的Android调试桥。 |
---|
return
- 该命令的结果,如果有的话。结果的格式由命令确定。
cmd | The command to execute in the adb shell. The form of these commands is described in the topic Android Debug Bridge. |
---|
Returns
- The results of the command, if any. The format of the results is determined by the command.
void startActivity ( string uri, string action, string data, string mimetype, iterable categoriesdictionary extras, component component, iterable flags)
通过发送从提供的参数构建一个Intent启动该设备上的活动。
Arguments
uri | The URI for the Intent. (see Intent.setData() ). |
---|---|
action | The action for the Intent (see Intent.setAction() ). |
data | The data URI for the Intent (see Intent.setData() ). |
mimetype | The MIME type for the Intent (see Intent.setType() ). |
categories | An iterable data structure containing strings that define categories for the Intent (seeIntent.addCategory() ). |
extras | A dictionary of extra data for the Intent (see Intent.putExtra() for an example).
The key for each dictionary item should be a string. The item's value can be any simple or structured data type. |
component | The component for the Intent (see ComponentName ). Using this argument will direct the Intent to a specific class within a specific Android package. |
flags | An iterable data structure containing flags that control how the Intent is handled (seeIntent.setFlags() ). |
MonkeyImage
takeSnapshot ()
抓住了这个装置的整个屏幕缓冲区,得到当前显示的屏幕截图。
回报
- 一个 MonkeyImage包含当前显示的图像对象。
void touch ( integer x, integer y, string type)
发送按类型对由x和y指定的屏幕位置指定到触摸事件。
Arguments
x | 触摸在实际设备的像素的水平位置,从在其当前方向在屏幕的左边开始。 |
---|---|
y | 触摸在实际设备的像素的垂直位置,从屏幕中其当前方向的顶部开始。 |
type | 送的键事件的类型。允许的值是 DOWN ,UP 和 DOWN_AND_UP 。 |
void type (string message)
发送包含在消息中的字符这个设备,就好像他们已经输入设备的键盘上。这等同于调用 按()
在每个键码信息
利用的关键事件类型DOWN_AND_UP
。
参数
message | 发送一个包含字符的字符串。 |
---|
void wake ()
唤醒该设备的屏幕。
Appendix
所使用属性变量名 的getProperty()和 getSystemProperty() 。
Property Group | Property | Description | Notes |
---|---|---|---|
build |
board |
该设备的系统板代号 | See Build |
brand |
OS的定制载体或提供商 | ||
device |
该装置的设计名称。 | ||
fingerprint |
唯一标识符当前运行的版本。 | ||
host |
|||
ID |
一个变更号码或标签。 | ||
model |
该设备的最终用户可视名称。 | ||
product |
T整体的产品名称。 | ||
tags |
逗号分隔的描述构建标签,如“签名”和“调试”。 | ||
type |
生成类型,如“用户”或“ENG”。 | ||
user |
|||
CPU_ABI |
本机代码指令集,形式CPU类型加ABI约定的名称。 | ||
manufacturer |
该产品/硬件制造商。 | ||
version.incremental |
所使用的源代码控制系统的内部代码来表示这个版本的软件。 | ||
version.release |
这个版本的软件的用户可视名称。 | ||
version.sdk |
与此版本的操作系统的用户可见的SDK版本相关联。 | ||
version.codename |
目前的开发代号,还是“REL”,如果这个版本的软件已被释放。 | ||
display |
width |
该器件的显示宽度以像素为单位。 | SeeDisplayMetrics for details. |
height |
该器件的显示高度,以像素为单位。 | ||
density |
显示器的逻辑密度。这是扩展DIP(密度无关像素)为单位,以设备的分辨率的因素。DIP被调整,使得1 DIP是相当于160象素每英寸显示器上的一个像素。例如,一个160-dpi的屏幕上,密度= 1.0,上,而一个120 dpi的屏幕上,密度= 0.75。
的值不完全遵循实际屏幕尺寸,但被调整,以符合大的变化,在显示器的DPI。见 |
||
am.current |
package |
当前运行的程序包的Android包名称。 | The am.current keys return information about the currently-running Activity. |
action |
当前活动的行动。这具有相同的格式的名字 的属性操作 元件在封装清单。 |
||
comp.class |
启动该活动目前组件的类名。见 comp.package 了解更多详情。 |
||
comp.package |
启动该活动目前组件的包名。组件是由包名和类的包中包含的指定名称。 | ||
data |
在包含在启动该当前活动的意图数据(如果有的话) | ||
categories |
由开始的当前活动的意图指定的类别。 | ||
clock |
realtime |
毫秒数,因为该设备重新启动,包括深度睡眠时间 | SeeSystemClock for more information. |
uptime |
毫秒数,因为该设备重新启动,不包括深睡眠时间 | ||
millis |
自UNIX时代,以毫秒为单位的当前时间。 |