Android仮想デバイス用のselendroidとseleniumを使い始めようとしていますが、いくつか問題があります。すべての Java/Android SDK/Eclipse ソフトウェアがインストールされており、Selenium chromedriver テストを正常に実行できます。しかし、Android仮想デバイスを起動するテストを実行しようとすると、起動せず、アプリがhttp://localhost:4444/wd/hub/status
ページにリストされません。
私の一般的なテストは以下のとおりです。以下のコードを実行すると、サーバーが起動し、ステータス ページからローカル ホスト データを確認できますが、アプリのバージョンが表示されません。実行するjava -jar selendroid-standalone-0.11.0-with-dependencies.jar -app selendroid-test-app-0.11.0.apk
と、アプリがステータス ページに表示されます。仮想デバイスにプリロードされたアプリと、仮想デバイス上の署名付きアプリを試してみましたが、どちらも機能しませんでした。
私は、他のどこで解決策を探すべきかとして、ほとんど行き止まりにいます。解決策を探すのに 3 ~ 4 日を費やしましたが、見つからないようです。現在、Java プロジェクトでは、selenium と selendroid .jar ファイルの依存関係のみが読み込まれています。jUnitや「テスト」関連のものはまだインストールしていません
package testpackage;
import io.selendroid.SelendroidCapabilities;
import io.selendroid.device.DeviceTargetPlatform;
import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class testClass {
/**
* @param args
*/
public static void runSelendroidTest() throws Exception {
// specify test capabilities (your 'test environment')
SelendroidCapabilities capa = new SelendroidCapabilities("io.selendroid.testapp:0.11.0");
// explicitly state that we want to run our test on an Android API level 17 device
capa.setPlatformVersion(DeviceTargetPlatform.ANDROID17);
// explicitly state that we use an emulator (an AVD) for test execution rather than a physical device
capa.setEmulator(true);
// start a new WebDriver
WebDriver driver = new SelendroidDriver(capa);
// execute a very simple test
WebElement inputField = driver.findElement(By.id("my_text_field"));
Assert.assertEquals("true", inputField.getAttribute("enabled"));
inputField.sendKeys("Selendroid");
Assert.assertEquals("Selendroid", inputField.getText());
// quit testing
driver.quit();
}
}