0

所以我在这里遇到了麻烦。当我手动启动 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();
       }
     }


    }
4

1 回答 1

0

当我切换到最新的 selendroid 独立版本 0.13 时,相同的代码开始工作,它解决了这个问题。

于 2015-01-26T13:29:00.253 回答