【问题标题】:Monkeyrunner. Connect to multiple devices at the same time猴行者。同时连接多个设备
【发布时间】:2018-12-17 14:23:10
【问题描述】:

我使用此脚本同时连接到多个 Android 设备(即通过 adb 发送文件):

from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
import time
import sys
import time
import os

devices = os.popen('adb devices').read().strip().split('\n')[1:]
device1 = MonkeyRunner.waitForConnection( devices[0].split('\t')[0])  
package = 'com.android.browser'
activity = 'com.android.browser.BrowserActivity'
runComponent = package + '/' + activity
device1.startActivity(component=runComponent)

MonkeyRunner.sleep(1)
device2 = MonkeyRunner.waitForConnection( devices[1].split('\t')[0])  
package = 'com.android.browser'

activity = 'com.android.browser.BrowserActivity'
runComponent = package + '/' + activity
device2.startActivity(component=runComponent)

我用过

adb 1.0.36 (Rev 1:7.0.0+r33-2) and
monkyrunner(Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:54:35) 

但我得到的只是:

09:02:54 E/DeviceMonitor: Adb connection Error:EOF                                                                                                                                                                               
09:02:54 E/DeviceMonitor: Connection attempts: 1                                                                                                                                                                                 
09:02:55 E/DeviceMonitor: Connection attempts: 2                                                                                                                                                                                 
09:02:56 E/DeviceMonitor: Connection attempts: 3  

有什么提示吗?

谢谢!

(原帖:How to run Monkeyrunner script on multiple devices at the same time

【问题讨论】:

    标签: monkeyrunner


    【解决方案1】:

    您可以使用支持多种设备的AndroidViewClient/culebra。如果我没记错的话,这是 AndroidViewClient 解决的monkeyrunner 的限制之一。

    您可以简单地使用生成脚本

    $ culebra -Uu --multi-device --start-activity='com.android.chrome/com.google.android.apps.chrome.Main' -o multi-browser.py
    

    生成单元测试 (-U),不验证屏幕转储 (-u) 中的内容,使用多个设备,启动特定活动作为前提条件并将生成的脚本保存到 multi-device.py

    然后,运行脚本

    $ multi-browser.py -s all
    

    其中-s 指定要运行脚本的设备的序列号,在本例中为all,浏览器将在所有设备上启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 2021-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多