该方法是莹莹同学发现得,先感谢。
实现方式如下:
from com.android.monkeyrunner import MonkeyRunner as MR
from com.android.monkeyrunner import MonkeyDevice as MD
from com.android.monkeyrunner import MonkeyImage as MI
from com.android.monkeyrunner.easy import EasyMonkeyDevice,By
device=MR.waitForConnection(10)
if device:
print("Connect device successful!")
else:
print("Connect device failed!")
device=EasyMonkeyDevice(device)
device.installPackage("D:\\MonkeyRunnerDemo\\Apps\\estore.apk")
device.startActivity(component="com.eshore.ezone/.StartActivity")
MR.sleep(3)
device.touch(By.id("id/btn_disagree"),device.DOWN_AND_UP)
注意点:
1.device需要用easymonkeydevice再次封装
2.touch方法id的如何使用
EasyMonkeyDevice类里面还有很多方法,包括exists(By)、getText(By)、type(By,String)、visible(By)等等。
再来个长点的脚本:
from com.android.monkeyrunner import MonkeyRunner as MR
from com.android.monkeyrunner import MonkeyDevice as MD
from com.android.monkeyrunner import MonkeyImage as MI
from com.android.monkeyrunner.easy import EasyMonkeyDevice,By
from com.android.chimpchat.hierarchyviewer import HierarchyViewer as HV
from com.android.hierarchyviewerlib.device import ViewNode as VN
T528d=MR.waitForConnection(10)
if T528d:
print("Connect device successful!")
else:
print("Connect device failed!")
eT528d=EasyMonkeyDevice(T528d)
hvT528d=T528d.getHierarchyViewer()
T528d.installPackage("D:\\MonkeyRunnerDemo\\Apps\\estore.apk")
T528d.startActivity(component="com.eshore.ezone/.StartActivity")
MR.sleep(3)
vnT528d=hvT528d.findViewById("id/btn_agree")
print("Width: "+str(vnT528d.width))
print("Height: "+str(vnT528d.height))
vnT528dCoordinate1=hvT528d.getAbsoluteCenterOfView(vnT528d)
print("vnT528dCoordinate1X: "+str(vnT528dCoordinate1.x))
print("vnT528dCoordinate1Y: "+str(vnT528dCoordinate1.y))
vnT528dCoordinate2=hvT528d.getAbsolutePositionOfView(vnT528d)
print("vnT528dCoordinate2X: "+str(vnT528dCoordinate2.x))
print("vnT528dCoordinate2Y: "+str(vnT528dCoordinate2.y))
附上运行结果:
Width: 165
Height: 49
vnT528dCoordinate1X: 127
vnT528dCoordinate1Y: 680
vnT528dCoordinate2X: 45
vnT528dCoordinate2Y: 656
ViewNode类里面还有很多属性,包括parent(获取父控件)、children(获取子控件)、left、top等等,这里就不一个个挨着讲了,自己看吧,呵呵。
另外一篇比较全,比较好的monkeyrunner文章
分享到:
相关推荐
用于测试Android计算器,适合初学monkeyrunner测试脚本编写者
android自动化测试monkeyrunner的入门使用教程,讲解了如何使用monkeyrunner进行android的自动化测试
monkeyrunner工具提供一个API来控制Android设备。可以写一个python脚本来安装应用,运行应用,发送键值,截图。monkeyrunner对python进行了封装,加入了一些针对Android设备的类。可以完全用python脚本来实现这些...
Android应用Monkeyrunner测试脚本,通过脚本记录测试指令后进行回放,可实现自动化功能测试
比较了monkeyrunner和monkey这两个好兄弟,同时把monkeyrunner实现的脚本集成到eclipse-pydev的环境中运行
lowen 基于monkeyrunner的android应用的自动化测试,并输出测试结果到html的框架 仿腾讯utest测试框架 代码有待完善,欢迎有兴趣的朋友一起讨论(目前报表里面使用echarts部分没有写数据处理逻辑,框架已搭好) ...
monkeyrunner教程
Android自动化测试(MonkeyRunner)脚本
详细介绍了如何搭建Android自动化测试环境以及使用Monkeyrunner进行自动化测试的方法。
文档内容比较简单易懂,是有关于Android MonkeyRunner自动化测试的简单尝试
基于移动端手工测试已经不能满足大多数企业的需求,越来越注重移动App的自动化测试,课程旨在帮助学员...(1)移动App测试理论部分和Android基础,(2)测试管理工具禅道,(3)移动端常用测试工具Monkeyrunner以及Appium。
很全的关于monkeyrunner的中文文档,希望对大家有所帮助。
Android自动测试之monkeyrunner工具.docxAndroid自动测试之monkeyrunner工具.docx
MonkeyRunner工具是使用Jython(使用Java编程语言实现的Python)写出来的,它提供了多个API,通过monkeyrunner API 可以写一个Python的程序来模拟操作控制Android设备app,测试其稳定性并通过截屏可以方便地记录出现的...
monkeyrunner简单实用手册,里面介绍了monkeyrunner如何连接固定手机,如何截图,如何进入脚本录制界面,如何运行monkeyrunner等操作
monkeyrunner+python脚本 monkeyrunner+python脚本 monkeyrunner+python脚本 . monkeyrunner+python脚本 monkeyrunner+python脚本
###说明洛文基于monkeyrunner的安卓应用的自动化测试,并输出测试结果到HTML的框架仿腾讯测试框架 ## lowen3版本稳定支持多个设备(最多40个USB连接)同时执行脚本 代码有待完善,欢迎有兴趣的朋友一起讨论(目前...
MonkeyRunner是android应用的测试工具, 可以模拟录制屏幕操作,并导出脚本做压力测试.