0

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

这是代码

导入线程

导入日期时间导入操作系统,系统

从 com.android.monkeyrunner 导入 ConfigParser

从日期时间导入 MonkeyRunner、MonkeyDevice、MonkeyImage

从 java.net 导入日期时间导入 hashlib

从 com.ziclix.python.sql 导入 SocketException

导入 zxJDBC

def UseThread(data1, data2, data3, devID, Code, ScreenshotRef, logFile):

 device = MonkeyRunner.waitForConnection(10, devID)

'threaded code'

'initialization'

文件=打开(os.path.dirname(os.path.realpath(文件))+'\Samples.txt','r')而1:

而 1: 行 = 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 等待连接时挂起。确切地说,这是它停止的部分

设备 = MonkeyRunner.waitForConnection(10, devID)

消息说“猴子命令唤醒”。

我认为问题与连接有关,而不是与线程有关,因为我试图在建立连接的那条线之前打印一些东西并且它可以工作。

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

4

1 回答 1

0

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

于 2013-02-27T22:20:00.030 回答