Bootstrap

Android自动化测试之——MonkeyRunner(1)

1、引入模块

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage

  import sys,os,time

2、连接手机设备

device = MonkeyRunner.waitForConnection()

       

                          当使用waitForConnection时,不管设备是否连接,device总是返回一个对象,所以没有办法通过 if not device:来准确判断设备是否真的连接成功;

                           解决的办法是:

                 

try:
    device = MonkeyRunner.waitForConnection(1.0,'0123456789ABCDEF')
    device.getProperty('model')
    print("connection pass")
except:
    print("connection fail")
    sys.exit(1)

 

 

 

3、定义事件

def click(p,q):
    device.touch(p, q, 'DOWN_AND_UP')

 

 

4、截图对比

# 截图
result = device.takeSnapshot()
# 局部截图,(x1,y1,x2-x1,y2-y1)
result = result.getSubImage((60,45, 160, 54))
# 将截图保存到文件
result.writeToFile('D:\\PycharmProjects\\untitled\\screen\\Test1_000.png', 'png')
# MonkeyRunner.loadImageFromFile:从PC端指定文件夹中加载图片
sel_card = MonkeyRunner.loadImageFromFile("D:\\PycharmProjects\\untitled\\screen\\Test1_000.png")
# 使用monkeyrunner.MonkeyImage.sameAs方法图片进行对比,返回真或假,1.0表示百分比
if result.sameAs(sel_card, 1.0):
    print("成功")
else:
    print("失败") 

5、输出日志

# 将日志输出到外部文件,在python中使用中文,需要在文件开头将编码设置为utf-8,否则乱码
log = open('D:/PycharmProjects/untitled/log.txt', 'w')
log.write("编辑我的首页返回-成功\n")
log.close()

 

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;