2016-11-10 11 views
1

テストを実行するたびにエミュレータをロードせずにAndroidエミュレータでテストを実行するにはどうすればよいですか?エミュレーターを毎回ロードせずにアンドロイドエミュレーターでテストを実行するには?

私は、コードを持っている:私はそれをしないならば、次回は私がエラーを持っているか、IDEがテストをスキップしている特別なので

void prepareAndroidEmulator() throws MalformedURLException { 
     File appDir = new File("/Users/oleh/Google Drive/QA DRIVE/Applications/some/sprint 2"); 
     File app = new File(appDir, BUILD_NAME); 

     DesiredCapabilities capabilities = new DesiredCapabilities(); 
     capabilities.setCapability("avd", "LG_G4._API_22._Android_5.1"); 

     capabilities.setCapability("deviceName", "AndroidTestDevice"); 
     capabilities.setCapability("platformName", "Android"); 

     capabilities.setCapability("app", app.getAbsolutePath()); 
     driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); 
    } 
     @BeforeClass 
    public void setUp() throws Exception { 
     prepareAndroidEmulator(); 

    } 

    @AfterClass 
    public void tearDown() throws Exception { 
     driver.quit(); 
     Runtime.getRuntime().exec("adb -s emulator-5554 emu kill"); 
    } 

私はエミュレータを殺します。

Screen about skipped tests

主なアイデア:私は、私はテストを開始するときにエミュレータ毎回ロードし、殺したくはありません。私はエミュレータを一度ロードした後、いつでもテストを実行しています。

私の環境:

-OS Xエルキャピタン -IntellijのIDEA -Selenium -Appium

+0

「スキップしたテスト」の問題を示すテストスイートの[mcve]を入力してください。 – CommonsWare

答えて

1

はAppiumサーバを起動する前にnoReset=truefullReset= false機能を設定します。

+0

それは私を助けません。機能を追加したので、テストを実行するとエラーが表示され、無視されます。 テストは無視されます。 合計テスト実行数:1、失敗数:0、スキップ:1 設定の失敗:1、スキップ:1 –

+0

マイコードは現在: '@BeforeClass DesiredCapabilities c = new DesiredCapabilities(); c.setCapability( "avd"、 "LG_G4._API_22._Android_5.1"); c.setCapability( "deviceName"、 "AndroidTestDevice"); c.setCapability( "platformName"、 "Android"); c.setCapability( "noReset"、 "true"); c.setCapability( "fullReset"、 "False"); c.setCapability( "app"、app.getAbsolutePath()); ドライバ=新しいAndroidDriver(新しいURL( "http://127.0.0.1:4723/wd/hub")、capabilities); –

+0

最終的には動作します。ありがとう!) –

関連する問題