MonkeyRunner_monkey runner下图片比对

 
 
from com.android.monkeyrunner import MonkeyRunner , MonkeyDevice
 
 
import os
 
 
import time
 
 
import math
 
 
import re
 
 
 
 
 
def getx ( n ):
 
 
if n in ( '1' , '4' , '7' ):
 
 
return 50
 
 
elif n in ( '2' , '5' , '8' , '0' ):
 
 
return 100
 
 
else :
 
 
return 200
 
 
def gety ( n ):
 
 
if n in ( '1' , '2' , '3' ):
 
 
return 150
 
 
elif n in ( '4' , '5' , '6' ):
 
 
return 200
 
 
elif n in ( '7' , '8' , '9' ):
 
 
return 250
 
 
else :
 
 
return 300
 
 
 
 
 
sqrt = re . compile ( r'([0-9]+)' )
 
 
percent = re . compile ( r'([0-9]+)\ %0f ([0-9]+)' )
 
 
 
 
print "Waiting for device!"
 
 
 
 
 
device = MonkeyRunner . waitForConnection ()
 
 
 
 
 
print "Connected to device!"
 
 
 
 
 
dummy = raw_input ( 'press enter to start' )
 
 
prev_question = ''
 
 
 
 
 
for i in range ( 300 ):
 
 
filename = " %d .png" % i
 
 
device . takeSnapshot () . getSubImage (( 10 , 10 , 220 , 40 )) . writeToFile ( filename , 'png' )
 
 
question = os . popen ( "./ocr.sh %s " % filename ) . read ()
 
 
try :
 
 
if '+' not in question and '-' not in question and '/' not in question and '*' not in question and '%' not in question and 'i' not in question :
 
 
result = int ( question [ 0 : - 1 ]) * int ( question [ 0 : - 1 ])
 
 
elif '%' in question :
 
 
result = int ( percent . search ( question ) . group ( 1 )) * int ( percent . search ( question ) . group ( 2 )) / 100 ;
 
 
else :
 
 
result = eval ( question )
 
 
except :
 
 
continue
 
 
if i > 0 and prev_question == question :
 
 
continue
 
 
print " %s = %d " % ( question , result )
 
 
result_str = str ( result )
 
 
if '.' in question and '.' not in result_str :
 
 
result_str += '.0'
 
 
if 'm' in question :
 
 
result_str = sqrt . search ( result_str ) . group ( 1 )
 
 
time . sleep ( 0.1 )
 
 
for ch in result_str :
 
 
device . touch ( getx ( ch ), gety ( ch ), 'DOWN_AND_UP' )
 
 
time . sleep ( 0.1 )
 
 
prev_question = question

在python下对比两张图片是一件很容易的事情,在monkey runner下进行图片比对我还没有找到好的方法,python 中的PIL调用的是C模块,而monkey runner是java,所以不能在monkey runner中直接使用PIL库,还好上面的代码给了我解决问题的思路,在monkey runner中建立compareImage.sh,然后执行python脚本比对不就OK了吗

发布了21 篇原创文章 · 获赞 1 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/crystal_ooo/article/details/8688063