monkeyrunner自动化测试

时间:2022-04-16 05:38:20

monkeyrunner工具介绍:

  monkeyrunner是google开发用于android系统自动化测试工具,在android-sdk安装路径下的tools目录中,monkeyrunner用于应用程序的功能测试。可以结合Python语音进行应用程序的自动化测试脚本开发。

下面是monkeyrunner的启动页面

monkeyrunner自动化测试

 启动后可以直接在启动页面上进行代码编写,不过,这里编写的代码是交互式的,无法保存为可执行脚本文件,关闭后就会被删除,因此,不建议这样操作,除非是在进行代码调试

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  ")

注:启动时要传一个参数,这个参数包含:包名/活动名