如何在多个设备上同时运行Monkeyrunner脚本

时间:2012-03-11 06:18:58

标签: android python monkeyrunner

我正在尝试在多个设备上运行monkeyrunner脚本来执行一些基本操作。我发现,我将开始编写脚本以在两个连接的设备中执行基本操作。

  from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice

  import time

   import sys


    import time


   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)

当我运行此脚本时,它永远不会完成执行。浏览器操作发生在其中一个连接的设备上,但不会发生在其他设备上你能帮我解决这个问题,或者你有更好的代码(想法)在多个设备上运行活动,请让我知道〜我是新手,对编程世界来说是全新的!提前致谢

2 个答案:

答案 0 :(得分:2)

你可以像

一样
device1 = MonkeyRunner.waitForConnection('', devices[0].split('\t')[0]) 

这将有助于

答案 1 :(得分:0)

更好的方法是编写一个明确绑定到设备的脚本。以下链接显示了模拟器的方式

http://chanakaudaya.wordpress.com/2012/04/10/monkeyrunner-tutorial-running-tests-on-multiple-devices-with-monkeyrunner-13/

也似乎与这个问题相似(我回答):

Can not simultaneously run monkeyrunner scripts (e.g. two monkeyrunner process) on multi device