手機的自動化測試,對結果的判斷是難點,最初級的辦法無非是基於圖像比對了,monkeyrunner自身提供了一套圖像比對的機制,這裏不再展開說。
使用方法簡單陳述如下
加載一個正確結果的圖片 MonkeyRunner.LoadImageFromfile("filepath"),這個函數在文檔中沒有提到,可能是文檔還沒有來得及更新吧。
然後用sameAs來比對,當然也可以用局部圖像比對。得到局部圖像的方法getSubImage
我這裏想說的方法是用PIL來逐個比較圖片的像素。實驗證明,速度還是不錯的
程序代碼如下
from PIL import Image
img3 = Image.open(r'd:\3.png')
img4 = Image.open(r'd:\4.png')
width = img3.size[0]
height = img3.size[1]
pima3 = img3.load()
pima4 = img4.load()
diff = 0
total = width * height
for w in range(width):
for h in range(height):
if not pima3[w,h] == pima4[w,h]:
diff +=1
print (1-diff/float(total))
最後計算出的是圖片的相似度