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