Monkeyrunner 图片对比
monkeyrunner 抓图时,会出现内存不足的异常终止,请高手指点???????#Python.py 如下--------------------------------
#Function: test dictionary paocitiao
#Copyright: Yvan Wang
# 2012-02-08
#---------------------------------------------
#Imports the monkeyrunner modules used by this program
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, MonkeyImage
#Connects to the current device, returning a MonkeyDevice object
device = MonkeyRunner.waitForConnection()
#obtain device connection
if not device:
print >> sys.stderr,"device connection is fail"
sys.exit(1)
pause = 1.0
Num = 1000000
for i in range(1,Num):
try:
#get start screen
result = device.takeSnapshot()
result.writeToFile('./result1.png','png');
device.press('KEYCODE_PAGE_DOWN')
MonkeyRunner.sleep(pause)
#get end screen
result2 = device.takeSnapshot()
result2.writeToFile('./result2.png','png');
except ValueError:
print("Oops!That was no valid number.Try again...")
continue
#compare picture
flag = result2.sameAs(result,1.0)
#The bottom of list ' Msbox
if (flag == True):
MonkeyRunner.alert('The bottom of list!','result message','OK')
执行一段时间后,就会提示timeout exception 。 求lz qq~~~ 同求LZQQ ,肯定能帮我指点一二 回复 1# 40406_jun
看着好蛋疼啊,截图200w次,比较100w次,内存能不出问题么。。 这个是个什么软件捏、? 我也遇到同样的问题。主要用截图对比的方式来判断当前页面已经达到我需求的页面,才能执行下一步操作。不过循环一般不超过5次就报cannot to takeSnapshot, 异常总结有3个timeout ,IO,ADB 同样的代码出现不同的异常。楼主一般循环几次出错? 求楼主QQ 不知道楼主的脚本是否是放在手机上执行的,如果是这样,手机那点硬件性能,显然不能满足你做那么多次截图操作。
我没研究过monkeyrunner,不知道它的takeSnapshot()是怎么实现的。我自己写的截图,都是去做读取/dev/graphics/fb0的操作,每次截图都有3到4秒的延时,不知道亦或是你pause的时间不够造成的内存泄露。
页:
[1]