1 #这是我在周末空暇时间整理的monkeyrunner API,想到哪里写到哪里的,如有不足请留言补充
2 #主要给个demo,来列举api的,2014/12/27
3 #作者:Mads Spiral QQ:79523822 如有疑问留言或者加qq,验证wyx
4 #导入三个模块MonkeyRunner,MonkeyDevice,MonkeyImage
5 from com.android.monkeyrunner import MonkeyRunner as mr
6 from com.android.monkeyrunner import MonkeyDevice as md
7 from com.android.monkeyrunner import MonkeyDevice as mi
8 #获取接入的设备,前面的为等待时间(s),后面正则或者设备的全名,返回一个device对象
9 #device=mr.WaitForConnection(1,'ss1z1')
10 device=mr.WaitForConnection()
11 #如果获取到了
12 if device:
13 #安装apk
14 device.installPackage('myproject/bin/MyApplication.apk')
15 #卸载,这应该是应用的包名
16 device.removePackage ('com.example.android.notepad')
17 #启动一个Acitvity,注意是启动一个活动,而不是一个应用,因为活动都是可以单独活动的
18 '''device.startActivity (component='com.android.htccontacts/
19 com.android.htccontacts.ContactsTabActivity')'''
20 #等待时间,秒
21 mr.sleep(3)
22 #唤醒屏幕
23 mr.wake()
24 #触摸屏幕,x,y坐标,触摸类型三种,UP,DOWN,DOWN_AND_UP
25 device.touch(10,20,DOWN_AND_UP)
26 #执行adb shell指令
27 device.shell("xxx")
28 #按键指令,前面为按键名称,如HOME键
29 '''
30 home键:KEYCODE_HOME
31 back键:KEYCODE_BACK
32 send键:KEYCODE_CALL
33 end键:KEYCODE_ENDCALL
34 上导航键:KEYCODE_DPAD_UP
35 下导航键:KEYCODE_DPAD_DOWN
36 左导航:KEYCODE_DPAD_LEFT
37 右导航键:KEYCODE_DPAD_RIGHT
38 ok键:KEYCODE_DPAD_CENTER
39 上音量键:KEYCODE_VOLUME_UP
40 下音量键:KEYCODE_VOLUME_DOWN
41 power键:KEYCODE_POWER
42 camera键:KEYCODE_CAMERA
43 menu键:KEYCODE_MENU
44 '''
45 device.press('KEYCODE_HOME','DOWN_AND_UP')
46 #输入一个字符串
47 device.type("你好")
48 #获取monkeyrunner的帮助
49 device.help()
50 #获取设备系统环境变量的名称
51 device.getProperty()
52 #重启设备
53 device.reboot()
54 #拖动,坐标开始到坐标结束,0.1为所用时间,1
55 device.drag((200,300),(100,300),0.1,1)
56
57 #以下是一些有关图片操作的api
58 #获取截图
59 result1=device.takeSnapshot()
60 #将结果输出到文件,前面为路径,后面为图片类型,可写可不写
61 result1.writeToFile('D:/demo1.png','png')
62 #两种写法都可以
63 result1.writeToFile('D:\\demo1.png','png')
64 #将当前图像转换为一个特定的格式并将其作为字符串返回,然后你可以访问的iterable二进制字节。
65 result.convertToBytes()
66 '''getRawPixel (integer x, integer y),getRawPixelInt (integer x, integer y)
67 这两个还不知道怎么用,知道怎么用的朋友可以留言'''
68 #图片的对比,先获取第二张截图
69 result2=device.takeSnapshot()
70 result2.writeToFile('D:/demo2.png','png')
71 #判断图片相识度是否是为90%
72 if(result1.sameAs(result2,0.9)):
73 print "图片对比成功……\n"
74 else:
75 print "主页面图片对比失败……\n"
76 else:
77 print "device not found"