首页 > 技术文章 > monkeyrunner API和实例

pangwanzi 2017-06-20 21:38 原文

前言:

 最近开启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文件,看模拟器是否按预期的进行回放

 

推荐阅读