monkeyrunner在连接设备时挂起

时间:2013-02-24 15:59:42

标签: android multithreading adb monkeyrunner

这就是我需要做的事情。我有2个设备,我需要使用monkeyrunner进行测试。这是一个使用python和monkeyrunner的自动化测试。我想同时为2个设备执行测试,所以我想到了使用线程。

这是代码

  

导入线程

     

import datetime import os,sys

     

从com.android.monkeyrunner

导入ConfigParser      

从datetime导入MonkeyRunner,MonkeyDevice,MonkeyImage

     

从java.net导入datetime import hashlib

     

从com.ziclix.python.sql导入SocketException

     

导入zxJDBC

     

def UseThread(data1,data2,data3,devID,Code,ScreenshotRef,   日志文件):

 device = MonkeyRunner.waitForConnection(10, devID)

'threaded code'

'initialization'
     

file = open(os.path.dirname(os.path.realpath( file ))+   '\ Samples.txt','r')1:

     

1时:       line = file.readline()

if not line:

    print 'Done!'

    break

else:

    line


val=line.split('\t')

data1 = val[0]

data2 = val[1]

data3 = val[2]

threads = []

for Code in cp.options('p'):

    devID = cp.get('product',Code).strip()

    ScreenshotRef = cp.get('source','ScreenshotRef') + '\\' + prodCode.upper()

    logFile = outputFolder + '\\' + prodCode.upper() + '\\logs.txt' 

    t=threading.Thread(target=UseThread,args=(data1, data2, data3, devID, prodCode, ScreenshotRef, logFile))
    threads.append(t)
    t.start()

for i in range(0,len(threads)):
    threads[i].join()

问题是这个。当while循环完成一次运行并继续进行第二次运行时,代码在monkeyrunner等待连接时挂起。确切地说,这是它停止的部分

  

device = MonkeyRunner.waitForConnection(10,devID)

消息显示“Monkey command wake”。

我认为问题与连接有关,而不是与线程有关,因为我试图在该行之前打印一些连接并且它可以工作。

当您已经建立连接时是否存在连接问题?我需要先关闭以前的连接吗?

1 个答案:

答案 0 :(得分:0)

MonkeyRunner waitForConnection仅适用于一个设备。你不能运行两次。您可以从另一个实例

运行