0

我正在尝试开始使用用于 android 虚拟设备的 selendroid 和 selenium,但我遇到了一些问题。我已经安装了所有的 java/android sdk/eclipse 软件,我可以很好地运行 selenium chromedriver 测试。但是,当我尝试运行启动 android 虚拟设备的测试时,它永远不会启动并且应用程序不会在http://localhost:4444/wd/hub/status页面中列出。

我的通用测试如下。如果我在下面运行此代码,服务器将启动,我可以从状态页面看到我的本地主机数据,但我的应用程序版本没有列出。如果我运行,java -jar selendroid-standalone-0.11.0-with-dependencies.jar -app selendroid-test-app-0.11.0.apk那么我可以在状态页面中看到我的应用程序。我已经尝试过在虚拟设备上预加载应用程序,并在虚拟设备上使用签名应用程序,但都没有工作。

我几乎处于死胡同,因为还有其他地方可以寻找解决方案。我花了 3-4 天寻找解决方案,但似乎找不到。目前在 java 项目中,我只加载了 selenium 和 selendroid .jar 文件依赖项。我还没有安装任何 jUnit 或任何相关的“测试”

package testpackage;

import io.selendroid.SelendroidCapabilities;
import io.selendroid.device.DeviceTargetPlatform;
import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;

public class testClass {

    /**
     * @param args
     */

    public static void runSelendroidTest() throws Exception {

        // specify test capabilities (your 'test environment')
        SelendroidCapabilities capa = new SelendroidCapabilities("io.selendroid.testapp:0.11.0");

        // explicitly state that we want to run our test on an Android API level 17 device
        capa.setPlatformVersion(DeviceTargetPlatform.ANDROID17);

        // explicitly state that we use an emulator (an AVD) for test execution rather than a physical device
        capa.setEmulator(true);

        // start a new WebDriver
        WebDriver driver = new SelendroidDriver(capa);

        // execute a very simple test
        WebElement inputField = driver.findElement(By.id("my_text_field"));
        Assert.assertEquals("true", inputField.getAttribute("enabled"));
        inputField.sendKeys("Selendroid");
        Assert.assertEquals("Selendroid", inputField.getText());

        // quit testing
        driver.quit();

    }

}
4

1 回答 1

0

也许您想确定“DeviceTargetPlatform.ANDROID17”是否真的将您的设备定位为 ANDROID17。也就是说,当您运行测试时,请检查日志。如果http://localhost:4444/wd/hub/status适合您,请在那里检查您的设备目标。

我之前遇到过同样的问题,我只是发现我使用的是'ANDROID18'而不是ANDROID17。

于 2014-10-21T03:18:15.273 回答