monkeyrunner自动化测试
monkeyrunner工具介绍:
monkeyrunner是google开发用于android系统自动化测试工具,在android-sdk安装路径下的tools目录中,monkeyrunner用于应用程序的功能测试。可以结合Python语音进行应用程序的自动化测试脚本开发。
下面是monkeyrunner的启动页面
启动后可以直接在启动页面上进行代码编写,不过,这里编写的代码是交互式的,无法保存为可执行脚本文件,关闭后就会被删除,因此,不建议这样操作,除非是在进行代码调试
下面对上面几个语句进行讲解:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
这个语句的意思应该很容易,就是从com.android.monkeyrunner 包中分别导入三个类:MonkeyRunner,MonkeyDevice,MonkeyIamge
这三个类的作用分别是:
MonkeyRunner:它是一个为MonkeyRunner程序提供工具方式类,提供用于连接MonkeyRunner到物理设备或模拟设备的方式。
MonkeyDevice:它是一个物理设备或模拟器的类,它提供了安装和卸载程序包、启动一个活动(Activity)以及发送键盘或操作事件到应用程序的方式。同时可以运用这个类来运行测试包
MonkeyImage:它是一个提供截图用的类,并且可以将位图转换成各种格式
device=MonkeyRunner.waitForConnection()
这个语句是用来连接设备用的,可提供参数,如下:
device=MonkeyRunner.waitForConnection(3,"aw15644d7f3")
第一个参数为等待时间,第二个参数为设备序列号或模拟器序列号。如果当前只有一个连接设备,可不同提供参数
device.installPackage("d:/xxx.apk")
这个语句是用来安装应用程序
device.startActivity(component="com.finance.aqb / com.pttz.swh.activity.WelcomeActivity")
这个语句是用来启动应用程序,有一个参数,参数值需要提供:包名/活动名称 ,切已“ / ”隔开
接下来介绍一下monkeyrunner常用的操作:
按home键
比较常用:
菜单键:KEYCODE_MENU
HOME键:KEYCODE_HOME
返回键:KEYCODE_BACK
搜索键:KEYCODE_SEARCH
呼叫键:KEYCODE_CALL
结束键:KEYCODE_ENDCALL
上调音量键:KEYCODE_VOLUME_UP
下调音量键:KEYCODE_VOLUME_DOWN
电源键:KEYCODE_POWER
照相键:KEYCODE_CAMERA
用法:
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.press("KEYCODE_CAMERA",MonkeyDevice.DOWN_AND_UP)
设备重启
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.reboot()
设备唤醒
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.wake()
输入内容
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.type("hello monkeyrunner")
截屏
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
image=device.takeSnapshot()
image.writeToFile("d:\\image","png")
单击操作
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.touch(100,123,"DOWN_AND_UP")
安装apk包
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.installPackage("d:/xxx.apk")
卸载apk包
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.removePackage("com.xxx.xxx")
注意:卸载的时候,使用包名,而不是apk名
启动Activity活动
from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage
device=MonkeyRunner.wartForConnection()
device.startActivity(component="com.xxx.xxx / xxx.xxx.Activity ")
注:启动时要传一个参数,这个参数包含:包名/活动名