Selendroid 服务器手动工作,但不是从代码启动时
Selendroid server works manually, but not when starting it from code
所以我在这里遇到了麻烦。当我手动启动 selendroid 服务器时,测试 运行 正常。当我从代码启动服务器时,它就失败了。
代码启动服务器,模拟器启动,移除屏幕锁定,之后测试失败并出现此错误"No devices are found. This can happen if the devices are in use or no device screen matches the required capabilities."
然而,当我手动启动服务器时,测试仍然有效。
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();
}
}
}
当我切换到最新的 selendroid 独立版本 0.13 时,相同的代码开始工作,它修复了这个问题。
所以我在这里遇到了麻烦。当我手动启动 selendroid 服务器时,测试 运行 正常。当我从代码启动服务器时,它就失败了。
代码启动服务器,模拟器启动,移除屏幕锁定,之后测试失败并出现此错误"No devices are found. This can happen if the devices are in use or no device screen matches the required capabilities."
然而,当我手动启动服务器时,测试仍然有效。
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();
}
}
}
当我切换到最新的 selendroid 独立版本 0.13 时,相同的代码开始工作,它修复了这个问题。