Так что у меня здесь проблемы. Когда я вручную запускаю сервер selendroid, тесты проходят нормально. Когда я запускаю сервер из кода, он просто терпит неудачу.Сервер Selendroid работает вручную, но не при запуске его из кода
Код запуска сервера, эмулятор загружается, он удаляет блокировку экрана, и после этого сбой теста с этой ошибкой «Не обнаружено никаких устройств. Это может произойти, если устройства используются или экран устройства не соответствует требуемые возможности ».
Однако тесты работают, когда я вручную запускаю сервер.
package Utilities;
import java.util.concurrent.TimeUnit;
import io.selendroid.SelendroidCapabilities;
import io.selendroid.SelendroidConfiguration;
import io.selendroid.SelendroidDriver;
import io.selendroid.SelendroidLauncher;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
public class Selendroid {
public static SelendroidLauncher selendroidServer;
public static WebDriver driver;
public static String baseUrl;
public static WebDriverWait wait;
@BeforeSuite
public void startSelendroidServer() throws Exception {
if (selendroidServer != null) {
selendroidServer.stopSelendroid();
}
SelendroidConfiguration config = new SelendroidConfiguration();
config.setSessionTimeoutSeconds(60000);
selendroidServer = new SelendroidLauncher(config);
selendroidServer.launchSelendroid();
baseUrl = "http://kask6iktundubkorras.sayat.me/";
DesiredCapabilities caps = SelendroidCapabilities.android();
driver = new SelendroidDriver(caps);
driver.manage().timeouts().implicitlyWait(90, TimeUnit.SECONDS);
wait = new WebDriverWait(driver, 60, 100);
}
@AfterSuite
public void stopSelendroidServer() {
if (driver != null) {
driver.quit();
}
if (selendroidServer != null) {
selendroidServer.stopSelendroid();
}
}
}