2016-08-23 1 views
-1

코드에서 Appium 서버 + Android 에뮬레이터를 실행하는 방법에 대한 조언을 찾고 있습니다. 아래에서 사용하려는 코드의 일부입니다. AVD 관리자에서 에뮬레이터를 구성하고 코드를 실행했지만, 안드로이드 에뮬레이터가 천천히 시작하고 스크립트가 기다리지 않아서 일부가 실패합니다 (에뮬레이터가 완전히로드되기 전에). 이 물건을 어떻게 관리 할 수 ​​있습니까?테스트 슈팅 시작하기 전에 Appium 서버 시작

ServerArguments serverArguments = new ServerArguments(); 
    serverArguments.setArgument("--address", "127.0.0.1"); 
    serverArguments.setArgument("--port", Integer.valueOf(4723)); 
    serverArguments.setArgument("--no-reset", true); 
    serverArguments.setArgument("--local-timezone", true); 
    serverArguments.setArgument("--session-override", true); 
    serverArguments.setArgument("--avd", "avdname")); 
    serverArguments.setArgument("--app-activity", "appactivity"); 
    serverArguments.setArgument("--app-pkg", "apppackage"); 
    serverArguments.setArgument("--platform-name", "Android"); 
    serverArguments.setArgument("--platform-version", Integer.valueOf(22)); 
    serverArguments.setArgument("--automation-name", "Appium"); 
    serverArguments.setArgument("--app", "pathtoapk"); 

    AppiumServer appiumServer = new AppiumServer(serverArguments); 
    appiumServer.startServer(); 

답변

2

난 테스트 워크 같은 Junit 또는 TestNG를 사용하여 제시한다. 그런 다음 annotations을 프레임 워크 엔진에서 처리하여 어느 단계를 Before 테스트, After 테스트를 수행해야하는지 강조 할 수있게하거나 모두 병렬로 수행 할 수 있습니다.

@BeforeClass 
    public void beforeClass() { 
     appiumServer.startServer(); 
    } 

    @Test 
    public void testCase1() { 
     // run test 
    } 
0

사용 implicitlyWait

driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); 

// 60초

// 당신은 실행 속도에 따라 증가 또는 시간을 줄일 수 있습니다에 대한

관련 문제