1、分类
一共分为MonkeyRunner、MonkeyDevice和MonkeyImage三种
2、MonkeyRunner
(1)说明
MonkeyRunner提供连接真机和模拟器、输入、暂停、警告框等方法
(2)常用方法
waitForConnection(timeout,deviceid)
导包:from com.android.monkeyrunner import MonkeyRunner as mr
device=mr.waitForConnection() #此处不填参数,会直接获取当前已连接的设备
3、MonkeyDevice
(1)说明
MonkeyDevice类提供了安装和卸载程序包、开启Activity、发送按键和点击事件、运行测试包等方法。
(2)常用方法:
①、installPackage (string path)
#安装,参数为安装包路径
示例:device.installPackage(r'C:UsersxwxxhDesktopkaoyanbang_3.6.0.276.apk')
②、removePackage (string package)
#卸载,参数为包名
示例:device.removePackage('com.tal.kaoyan')
③、startActivity (包名/Activity)
示例:device.startActivity('com.tal.kaoyan/com.tal.kaoyan.ui.activity.SplashActivity')
#启动应用,主要传包名和Activity
④、touch (integer x, integer y, integer type)
integer x,x坐标值。
integer y,y坐标值。
integer type,key event类型(如DOWN、UP、DOWN_AND_UP)。
DOWN为按下事件 UP为弹起事件 DOWN_AND_UP为按下弹起事件。
⑤、drag (start-xy, end_xy, duration, steps)
start-xy,拖拽起始位置,为tuple类型的(x,y)坐标点。
end_xy,拖拽终点位置,为tuple类型的(x,y)坐标点。
duration,拖拽手势持续时间,默认为1.0s。
integer steps,插值点的步数,默认值为10
4、案例1
连接设备,安装微信,并打开,最后卸载
代码实现:
5、MonkeyImage
(1)说明
MonkeyImage类在测试过程中用来保存各种格式的测试截图,并可以进行图像对比
(2)常用方法
①、takeSnapshot() 进行屏幕截图
②、writeToFile() 保存图像文件到指定的文件路径
用法:
from com.android.monkeyrunner import MonkeyImage as mi #导包
print("takeSnapshot")
screenshot=device.takeSnapshot() #截图
screenshot.writeToFile(r'F: est.png','png') #保存在F盘
6、综合实践
连接设备,安装考研帮并打开,登陆,最后截图保存
代码示例:
注:device.type('xxx')是输入,跟device.input()不同,input是建立一个输入框并输入
运行脚本方式:命令端运行:monkeyrunner 脚本名称.py