2012-03-11 5 views
5

몇 가지 기본 작업을 수행하기 위해 여러 장치에서 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) 

이 스크립트를 실행하면 실행이 완료되지 않습니다. 브라우저 동작은 연결된 장치 중 하나에서 발생하지만 다른 장치에서는 발생하지 않습니다. 이 문제를 해결할 수 있도록 도와 주시겠습니까? 아니면 여러 기기에서 활동을 실행하는 데 더 좋은 코드 (아이디어)를 가지고 계시다면 알려주세요. 저는 초보자이며 프로그래밍 세계에 완전히 새로운 사람입니다. 미리 감사드립니다.

+0

엘사을, 나는 다르게 수행해야합니다 생각합니다. 스크립트를 두 부분으로 나눕니다. 하나는 하나의 장치 인 테스트를 실행합니다. 여러 장치에서 실행되는 첫 번째 스크립트의 또 다른 부분입니다. –

+0

별도로 만드는 방법을 알려 줄 수 있습니까? –

+0

bash, python 또는 java ... 이제 우리 그룹은 그런 서비스를 개발하고 있습니다. –

답변

0

그것을 할 수있는 더 좋은 방법이 도움이 될 것입니다

device1 = MonkeyRunner.waitForConnection('', devices[0].split('\t')[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

관련 문제