Я пытаюсь начать работу с selendroid и selenium для виртуальных устройств Android, но у меня есть несколько проблем. У меня установлено все программное обеспечение 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();
}
}