1、 键值事件:
press(name,type)
name:String数据类型;keycode名;如:KEYCODE_ENTER虚拟键盘的enter键、KEYCODE_MENU菜单键
type:key event按键类型;数据类型integer;如:DOWN按下事件、UP弹起事件、DOWN_AND_UP按下弹起事件
2、 长按事件:
drag(start,end,duration,steps)
start,end起始坐标一致
duration持续时间设置较长时间;
即可模拟长按操作
3、 对于PC端的“输入框、提示框、选择列表项”的处理:
对于提示、警告框:MonkeyRunner.alert(message,title,okTitle)
message:数据类型string;对话框中显示的消息
title:数据类型string;对话框标题,默认值alert
okTitle:数据类型string;对话框按钮,默认为OK
对于输入框:MonkeyRunner.input(message,initialValue,title,okTitle,cancelTitle)
message:数据类型string;对话框提示信息
initialValue:数据类型string;输入的字符串
title:数据类型string;对话框标题,默认为input
okTitle:数据类型string;对话框按钮1,默认为OK
cancelTitle:数据类型string;对话框按钮2,默认为Cancel
返回值:点击OK,返回输入的字符串;
点击Cancel,返回空
对于选择列表项:MonkeyRunner.choice(message,choices,title)
message:数据类型string;对话框中显示的消息
choices:数据类型iterable迭代;选择列表
title:数据类型string;对话框标题,默认值input
返回值:选择后点击OK返回索引值(从0开始);
点击cancel返回-1
4、 对于设备的连接安装和卸载等操作:
等待设备连接:MonkeyRunner.waitForConnection()等待设备连接到PC
(1)
waitForConnection(timeout,deviceId)
timeout:数据类型float,时间超时
deviceId:设备ID号
(2)
可完全不带参数,直接写:
device = MonkeyRunner.waitForConnection();
若有多个设备时,需要输入ID号:
device_id = ‘xxxx’
device = MonkeyRunner.waitForConnection(10,device_id)
安装PC上的应用到设备:installPackage(path)
path:string数据类型;需要安装应用的全路径及应用名
卸载应用:removePackage(package)
package:string数据类型;
5、 重启、唤醒、获取设备:
重启:reboot(into)
into:string数据类型;有三种重启选项:bootloader、recovery、None
bootloader:重启进入bootloader环境;在此系统
recovery:重启进入recovery环境;在此模式可以备份、升级系统、刷机、恢复出厂设置等
None:正常重启
唤醒:wake()
获取当前设备属性:object getProperty(key)
key:string数据类型;
object getSystemProperty(key)
6、 备注:
bootloader:在操作系统运行之前进入bootloader,以完成整个系统的加载任务。
recovery:工程模式
7、 基本图像处理API:
截图:takeSnapshot( ) 无需传参
图像保存:writeToFile(path,format )
path:String数据类型;存储全路径,包括文件扩展名
如:./TextMonkeyrunner.jpg
format:String数据类型;存储格式
如:ipg
8、 截取全屏幕中的某一块图像:getSubImage(rect)
rect:所选矩形元组:由x、y、w、h组成,x、y为矩形左上角坐标点,w为矩形的宽度,h为矩形的高度
图像对比:sameAs(image,percent)
image:传入的要对比的图像
percent:图像匹配百分比;范围:0.0--1.0,默认为1.0即全部匹配;返回值为ture或false;boolean数据类型
代码样例:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
picture1 = MonkeyRunner.waitForConnection( )
.takeSnapshot( ).getSubImage(200,200,150,250)
picture2 = MonkeyRunner.waitForConnection( )
.takeSnapshot( ).getSubImage(200,200,150,250)
picture1.sameAs(picture2 , 1.0)