MR_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了吗

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值