所以我在这里遇到麻烦。当我手动启动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();
}
}
}
答案 0 :(得分:0)
当我切换到最新的selendroid独立版本0.13时,相同的代码开始工作,修复了这个问题。