一、 基础篇
Monkeyrunning基础
Monkeyrunner准备
Android开发环境、SDK环境、monkeyrunner_py脚本文件(包括脚本录制和回放)需要下载放入SDK\tools根目录下就可以。其中包括
Monkeyrunner运行方式有两种。
1、在SDK的tools路径下拼写Monkeyrunner,然后导入模块、连接设备一步一步向下操作。
2、编辑python脚本文件,将要执行的命令全部写入.py文件中直接执行。
Monkeyrunner编写
1、导入模块
from
com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
说明:导入MonkeyRunner,
MonkeyDevice, MonkeyImage三种API。
2.连接当前设备,并返回一个MonkeyDevice对象
devices =
MonkeyRunner.waitForConnection();
或devices =
MonkeyRunner.waitForConnection(float timeout, string deviceID)
例:devices=MonkeyRunner.waitForConnection(5,"emulator-5554")
//第一个参数为等待连接设备时间,第二个参数为具体连接的设备
说明:连接设备
3.截图并保存
result =
devices.takeSnapshot()
result.writeToFile(‘./shotbegin.png’,'png’)
4.滑动屏幕2次:
for i in range(1,3):
devices.drag((200,300),(100,300),0.1,10)
MonkeyRunner.sleep(1)
说明:注意这里脚本写法;for循环内,必须缩进,这是Python中的一个for循环,意思是遍历1~3(不含3)所有整数,遍历做什么呢?第二行就是我们要做的事情,“drag”就是拖动事件指令,后面的括号里就是参考,表示从第一个坐标开始到一个坐标结束,0.1表示所用时间,最后的10可以理解为采样点,默认为10。第三行就是等待的意思,滑动一次后等待1秒再继续。
5、安装Android包,返回的返回值为boolean类型(false/ture),由此可以判断安装过程是否正常。
devices.installPackage(‘myproject/bin/MyApplication.apk’)//安装包路径
devices.removePackage
(‘com.example.android.notepad’)//包名
print (‘卸载成功’)
devices.installPackage(‘ApiDemos.apk’)
print (‘安装成功’)
6、启动一个Activity;
device.startActivity(component=’com.android.htccontacts/com.android.htccontacts.ContactsTabActivity’)
例:启动飞信
devices.startActivity
(component =
'cn.com.fetion/.android.ui.activities.StartActivity')
7.时延(秒);
MonkeyRunner.sleep(3)
说明:即上一步操作结束后停顿时间,可用于截图时避免截图延时等。
8.触击屏幕;
devices.touch(507,72,”DOWN_AND_UP”)
说明:touch点击事件,(507,72)点击位置坐标,Down_AND_UP表示按下然后放开。
9.执行adb shell命令;
devices.shell(“input text
goup01″)
10.发送按键指令
按下HOME键devices.press(‘KEYCODE_HOME’,'DOWN_AND_UP’)
相应的按键对应的名称如下:
home键:KEYCODE_HOME
back键:KEYCODE_BACK
send键:KEYCODE_CALL
end键:KEYCODE_ENDCALL
上导航键:KEYCODE_DPAD_UP
下导航键:KEYCODE_DPAD_DOWN
左导航:KEYCODE_DPAD_LEFT
右导航键:KEYCODE_DPAD_RIGHT
ok键:KEYCODE_DPAD_CENTER
上音量键:KEYCODE_VOLUME_UP
下音量键:KEYCODE_VOLUME_DOWN
power键:KEYCODE_POWER
camera键:KEYCODE_CAMERA
menu键:KEYCODE_MENU