monkeyrunner API和实例
前言:
最近开启android自动化了,经过自己的实践已经可以使用monkeyrunner录制脚本、回放、使用python脚本进行自动回放了;
但是对于monkeyrunner的API还不是很熟练,这里参考其他博客有必要仔细学习一下API。
声明博客来源:http://www.cnblogs.com/paulwinflo/p/5192029.html
一:了解monkeyrunner 的三个模块
1:MonkeyRunner:用于链接monkeyrunner至设备或模拟器的方法。提供了用于创建用户界面的monkeyrunner程序和用于内置帮助的方法;
2:MonkeyDevice:代表一个设备或模拟器。这个类提供了安装和卸载程序包,启动Activity,发送键盘或触摸事件、运行测试包提供了方法。
3:MonkeyImage:提供了捕捉屏幕的方法。这个类为截图、将位图转换成各种格式、对比两个MonkeyImage对象,将Image保存到文件。
二:monkeyrunner API介绍
1:导入三个模块:
from com.amdroid.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
2:monkeyrunner 接入设备
#获取接入的设备, 第一个参数:等待时间,第二个参数:设备名称,返回一个device对象
device = MonkeyRunner.waitForConnection(1,'device_name')
device = MonkeyRunner.waitForConnection( )
3:安装apk文件
device .installPackage(QQ.apk)
4:卸载应用
device.removerPackage(包名)
5:启动应用
device.startActivity(component = "com.tencent.mobileqq/.activity.SplashActivity")
6:等待时间(单位:s)
MonkeyRunner.sleep(2)
7:唤醒屏幕
MonkeyRunner.wake()
8:触摸屏幕,x,y坐标,触摸类型三种:UP、DOWN、DOWN_AND_UP
device.touch(10,20,DOWN_AND_UP)
9:按键指令
home键:KEYCODE_HOME
back键:KEYCODE_BACK
send键:KEYCODE_CALL
end键:KEYCODE_ENDCALL
上导航键:KEYCODE_DPAD_UP
下导航键:KEYCODE_DPAP_DOWN
左导航键:KEYCODE_DPAP_LEFT
右导航键:KEYCODE_DPAP_RIGHT
OK键:KEYCODE_DPAP_CENTER
上音量键:KEYCODE_VOLUME_UP
下音量键:KEYCODE_VOLUME_DOWN
power键:KEYCODE_POWER
camera键:KEYCODE_CAMERA
menu键:KEYCODE_MENU
eg:device.press('KEYCODE_MENU','DOWN_AND_UP')
10:输入字符串
device.typr("你好")
11:获取monkeyrunner的帮助
device.help()
12:获取设备系统环境变量的名称
device.getProperty()
13:重启设备
device.reboot()
14:图片API
#获取截图
result1 = device.tackSnopshot()
#将结果保存到文件,前面为路径,后面为图片类型
result1.writeToFile('D:/demo1.png'
,
'png'
)
#图片对比,判断图片相似度是否为90%
if(result1.sameAs(result2,0.9))
三:monkeyrunner实例
1:确定设备、虚拟机链接正常
2:使用monkey_recorder.py确定按钮的光标位置
3:将链接设备、点击按钮的操作写成python文件
4:运行python文件,看模拟器是否按预期的进行回放