Selendroid服务器可以手动工作,但不能从代码启动时使用

时间:2015-01-19 10:50:30

标签: android automated-tests 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();
       }
     }


    }

1 个答案:

答案 0 :(得分:0)

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