2016-08-23 59 views
-1

我正在尋找如何從代碼運行Appium服務器+ Android模擬器的建議。 我試圖使用下面的代碼的一部分。我在AVD管理器中配置了模擬器並運行了代碼,但問題在於,由於Android模擬器啓動緩慢且腳本未等待它,這意味着它們中的一部分失敗(在模擬器完全加載之前)。如何管理這些東西?在測試西裝開始運行之前啓動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

我建議使用測試框架,如JunitTestNG。 然後你將有一堆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秒

//你可以根據執行速度增大或減小時

相關問題