更新资料
库莱布拉 现在支持 多设备
模式,因此不再需要此答案中描述的步骤。可以在android上找到说明,示例和视频,其中显示了在3个不同设备上同时运行的同一测试。culebra multi-
device functions。
回答
一如既往。我的建议是让
culebra
创建您的脚本,然后您可以对其进行调整。 culebra 将为一个设备生成脚本,然后您可以为另一设备复制这些行,或者在需要时可以遍历设备列表。
这是生成的修改后的脚本(用 设备 的实际序列号替换 serialno1 和 serialno2 ):
$ culebra -VC -d on -t on -o myscript.py serialno1
和
myscript.py看起来像这样您的修改后:
#! /usr/bin/env python# -*- coding: utf-8 -*-'''Copyright (C) 2013 Diego Torres MilanoCreated on 2013-11-28 by Culebra v4.5.2__ __ __ __ / / / / ____________________/ __/ __/ __/ __________________________________________________/ /__/ /__/ /__/ /________________________________ | / / / / ___ |/ _/ _/ _/ o \_____/--<@author: Diego Torres Milano@author: Jennifer E. Swofford (ascii art snake)'''import reimport sysimport ostry: sys.path.append(os.path.join(os.environ['ANDROID_VIEW_CLIENT_HOME'], 'src'))except: passfrom com.dtmilano.android.viewclient import ViewClientkwargs1 = {'verbose': True, 'ignoresecuredevice': False}device1, serialno1 = ViewClient.connectToDeviceOrExit(serialno='serialno1', **kwargs1)device2, serialno2 = ViewClient.connectToDeviceOrExit(serialno='serialno2', **kwargs1)kwargs2 = {'startviewserver': True, 'forceviewserveruse': False, 'autodump': False, 'ignoreuiautomatorkilled': True}vc1 = ViewClient(device1, serialno1, **kwargs2)vc2 = ViewClient(device2, serialno2, **kwargs2)vc1.dump(window='-1')vc2.dump(window='-1')no_id1_1 = vc1.findViewById("id/no_id/1")print no_id1_1no_id1_2 = vc2.findViewById("id/no_id/1")print no_id1_2这将同时连接到两个设备,获取转储,并在两个设备上找到一个具有id的View
id/no_id/1并打印结果。



