手機屏幕截圖的比對

手機的自動化測試,對結果的判斷是難點,最初級的辦法無非是基於圖像比對了,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))

最後計算出的是圖片的相似度

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章