标签:connect python模块 ring 功能 cts plain monk 功能测试 ons
1.多设备控制:monkeyrunner API可以跨多个设备或仿真器应用一个或多个测试套件。您可以物理连接的所有设备或启动了所有的仿真器(或两者兼有)同时,连接到每一个轮流程序,然后运行一个或多个测试。您也可以启动一个模拟器配置编程,运行一个或多个测试,然后关闭模拟器。
2.功能测试:monkeyrunner可以运行Android应用程序的自动启动到完成测试。您提供的输入值与键盘或触摸事件,并查看结果的截图。
3.回归测试 - monkeyrunner可以运行一个应用程序,并比较其输出截图一组被称为是正确的截图测试应用程序的稳定性。
4.可扩展的自动化-由于monkeyrunner是一个API工具包,你可以开发基于Python模块和控制Android设备程序的整个系统。除了 ??使用monkeyrunner API本身,你可以使用标准的Python OS和 子 模块的调用Android的工具,比如 Android的调试桥。
所述monkeyrunner API被包含在包中的三个模块 com.android.monkeyrunner:
1.MonkeyRunner:一类为monkeyrunner程序的实用方法。这个类提供了用于连接monkeyrunner至设备或模拟器的方法。它也提供了用于创建用户界面的monkeyrunner程序和用于显示内置帮助的方法。
2.MonkeyDevice:表示一个设备或模拟器。这个类提供了安装和卸载程序包,启动一个活动以及发送键盘或触摸事件到应用程序的方法。您也可以使用这个类来运行测试包。
3.MonkeyImage:表示一个屏幕捕获图像。这个类提供了捕捉屏幕,将位图图像,以各种不同的格式,比较两个MonkeyImage对象,写一个图像文件的方法。
|
1
2
3
4
|
#导入三个模块MonkeyRunner,MonkeyDevice,MonkeyImagefrom com.android.monkeyrunner import MonkeyRunner as mrfrom com.android.monkeyrunner import MonkeyDevice as mdfrom com.android.monkeyrunner import MonkeyImage as mi |
adb devices 命令可以获取设备对象的名称
|
1
2
3
|
#获取接入的设备,前面的为等待时间(s),后面正则或者设备的全名,返回一个device对象#device=mr.WaitForConnection(1,‘ss1z1‘)device=mr.WaitForConnection() |
device.startActivity("package名/activity名")
|
1
|
device.installPackage(‘myproject/bin/MyApplication.apk‘) |
|
1
|
device.removePackage (‘com.example.android.notepad‘) |
|
1
|
device.startActivity (component=‘com.android.htccontacts/com.android.htccontacts.ContactsTabActivity‘) |
|
1
|
mr.sleep(3) |
|
1
|
mr.wake() |
|
1
|
device.touch(10,20,DOWN_AND_UP) |
用法:MonkeyDevice.drag(start,end,duration,steps)
start:拖曳开始坐标 - The starting point for the drag (a tuple (x,y) in pixels)
end:拖曳结束坐标点- The end point for the drag (a tuple (x,y) in pixels
duration:持续时间 - Duration of the drag in seconds (default is 1.0 seconds)
steps:拖曳步骤- The number of steps to take when interpolating points. (default is 10)
|
1
|
device.drag((472,1067),(482,560)) |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
home键:KEYCODE_HOMEback键:KEYCODE_BACKsend键:KEYCODE_CALLend键:KEYCODE_ENDCALL上导航键:KEYCODE_DPAD_UP下导航键:KEYCODE_DPAD_DOWN左导航:KEYCODE_DPAD_LEFT右导航键:KEYCODE_DPAD_RIGHTok键:KEYCODE_DPAD_CENTER上音量键:KEYCODE_VOLUME_UP下音量键:KEYCODE_VOLUME_DOWNpower键:KEYCODE_POWERcamera键:KEYCODE_CAMERAmenu键:KEYCODE_MENUdevice.press(‘KEYCODE_HOME‘,‘DOWN_AND_UP‘) |
device.type("你好")
|
1
|
device.help() |
|
1
|
device.getProperty() |
|
1
|
device.reboot() |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#获取截图result1=device.takeSnapshot()#将结果输出到文件,前面为路径,后面为图片类型,可写可不写result1.writeToFile(‘D:/demo1.png‘,‘png‘)#两种写法都可以result1.writeToFile(‘D:\\demo1.png‘,‘png‘)#将当前图像转换为一个特定的格式并将其作为字符串返回,然后你可以访问的iterable二进制字节。result.convertToBytes()#图片的对比,先获取第二张截图result2=device.takeSnapshot()result2.writeToFile(‘D:/demo2.png‘,‘png‘)#判断图片相识度是否是为90%if(result1.sameAs(result2,0.9)): |
标签:connect python模块 ring 功能 cts plain monk 功能测试 ons
原文地址:http://www.cnblogs.com/chenwolong/p/MonkeyRunner.html