轉載自: http://www.51testing.com/?uid-225927-action-viewspace-itemid-249291
************** picCompare.py
from __future__ import division
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
log=open("F:\\demo\\demo.txt","w")
#this function used for pic compare
#the variables is base-pic,compare-pic,pic-width,pic-high,pic similarity
def picCompare(imageA,imageB,width,high,factor):
i=0
Rc=Gc=Bc=0
Total=255*width*high/4
while i<width:
j=0
while j<high:
cc=imageA.getRawPixel(i,j)
dd=imageB.getRawPixel(i,j)
Rc=Rc+abs(cc[1]-dd[1])
Gc=Gc+abs(cc[2]-dd[2])
Bc=Bc+abs(cc[3]-dd[3])
j=j+2
i=i+2
Rsub=Rc/Total
Gsub=Gc/Total
Bsub=Bc/Total
picSame=1-(Rsub+Gsub+Bsub)/3
if picSame>factor:
return 1
else:
return 0
**********測試指令碼
import sys
sys.path.append("E:\\android-sdk-windows\\tools")
import picCompare as COM
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
log=open("F:\\demo\\demo.txt","w")
imageA=MonkeyRunner.loadImageFromFile("F:\\demo\\sougou.png")
#judge connection
device = MonkeyRunner.waitForConnection()
#
imageB=device.takeSnapshot()
imageB=imageB.getSubImage((20,320,60,60))
if COM.picCompare(imageA,imageB,60,60,0.8):
log.write("OK,the will do action Click\n")
device.touch(20,320,"DOWN_AND_UP")
else:
imageB.writeToFile("F:\\demo\\errorSogou.png","png")
log.write("couldn't find sogou item,please check")
log.close() ******************************使用說明,andorid手機自動化
測試過程中,如果UE能提前確定,則使用MonkeyRunner Recorder捕獲全部的測試控制項,然後通過映像對比,執行對應的Activity。這個是基於SeeTest基礎上個人改編的,歡迎討論~~