adb - 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()
解决方案
如果您已经创建了脚本,则可以创建这样的bash
脚本
#! /bin/bash
devices=(serialno1 serialno2 serialno3)
for s in "${devices[@]}"
do
myscript "$s"
done
指定您的设备的序列号,并提供它们都已连接并显示在adb devices
. 这将按顺序运行脚本。
另一方面,如果您正在创建新脚本,您可以尝试
$ culebra --unit-test --multi-device
它会生成一个同时在所有设备上运行的测试用例。
推荐阅读
- ruby-on-rails - 如何在 Rails 控制器和模板中显示 has_many?
- java - 强制 org.springframework.http.ResponseEntity.ok 保留 Pascal-case json
- solver - 改变牛顿在 Dymola 中的冷却示例以显示正弦行为
- php - 如何更新 web.config 现在内部显示内页
- c# - 如何在 c#.net 中从 postgres 检索数据到文本框
- c++ - 当我忘记增加迭代器时的 std::bad_alloc
- sql - SQL语句提取字符串中的最后一个单词?
- android - nativescript-background-http 演示服务器上传不正确
- c# - 将属性添加到表单并使其在设计器中可见
- firebase - Flutter Streambuilder 不断重建