首页 > 解决方案 > AndroidVIewClient-如何在多台设备上同时运行一个python脚本

问题描述

我创建了一个 python 脚本来完成设备的初始设置,并且可以在单个设备中运行它。我想在多个设备上运行相同的脚本。我提供了下面的代码,请告诉我如何修改此代码以在两个或更多设备上运行它们。

import re
import sys
import time
import os

from PIL import Image

from com.dtmilano.android.viewclient import ViewClient
device, serialno = ViewClient.connectToDeviceOrExit()
vc = ViewClient(device=device, serialno=serialno)

vc.dump()
vc.findViewWithTextOrRaise(u'Continue').touch()##this line will click on Continue button.
print 'Continue button found and clicked'
vc.dump()
vc.findViewWithTextOrRaise(u'ABCCC').touch()##this line will click WiFi Ilaw SSID.
print 'SSID found and clicked'
vc.dump()
device.shell('input text *********')
vc.dump()
vc.findViewWithTextOrRaise(u'Connect').touch()##connect to wifi
time.sleep(20)
vc.dump()
device.shell('input text *********')##enter username
device.shell('input keyevent 61')
device.shell('input text *****')##enter password
vc.dump()
vc.findViewWithTextOrRaise(u'Continue').touch()##register the device
time.sleep(40)
vc.dump()
vc.findViewWithTextOrRaise(u'Do not restore').touch()##Do not restore
vc.dump()
vc.findViewWithTextOrRaise(u'Continue').touch()##Continue
vc.dump()
vc.findViewWithTextOrRaise(u'Continue').touch()##Account selection - click continue
vc.dump()
device.shell('input text *****') ##set screen pin
device.shell('input keyevent 61')
device.shell('input text *****') ##confirm pin
vc.dump()
vc.findViewWithTextOrRaise(u'Continue').touch()##Click Continue after entering pin
vc.dump()

标签: adbandroidviewclient

解决方案


如果您已经创建了脚本,则可以创建这样的bash脚本

#! /bin/bash

devices=(serialno1 serialno2 serialno3)
for s in "${devices[@]}"
do
    myscript "$s"
done

指定您的设备的序列号,并提供它们都已连接并显示在adb devices. 这将按顺序运行脚本。

另一方面,如果您正在创建新脚本,您可以尝试

$ culebra --unit-test --multi-device

它会生成一个同时在所有设备上运行的测试用例。


推荐阅读