无法使用Android模拟器在chrome中打开页面

时间:2015-12-01 12:24:38

标签: java android android-emulator appium

我刚刚编写了简单的脚本,它将启动Chrome浏览器并导航到google主页。但是当我尝试执行我的脚本时,它运行没有任何问题,但它在地址栏中显示.data。而不是导航到谷歌主页,如下所示:

enter image description here

示例代码:

private WebDriver driver;

 DesiredCapabilities desired = new DesiredCapabilities().android();
        desired.setCapability(MobileCapabilityType.DEVICE_NAME,
                "Android Emulator");
        desired.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
        desired.setCapability(MobileCapabilityType.PLATFORM_VERSION,
                "4.2.2");
        desired.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
        desired.setCapability(MobileCapabilityType.APP_PACKAGE,
                "com.android.chrome");
        desired.setCapability(MobileCapabilityType.APP_ACTIVITY,
                "com.google.android.apps.chrome.Main");
        // desired.setCapability("fullReset", "true");
        URL url=new URL("http://127.0.0.1:4723/wd/hub");
        driver = new RemoteWebDriver(url, desired);
        driver.get("http://www.google.com");

有人可以帮助我。

3 个答案:

答案 0 :(得分:0)

    driver.get("www.google.com");

你的代码中缺少这个。它将如何发展。它已正确创建驱动程序。但你必须告诉他去哪里。当您在临时配置文件中打开Web驱动程序时,您可以获得正常的主页(如果这就是您要查找的内容)。如果要打开特定的浏览器配置文件,则必须在创建chromedirver时使用标志--user-data-dir告诉它打开该配置文件。

是的,您提供的代码永远无法打开您的浏览器。它的功能不正确。

答案 1 :(得分:0)

请尝试修改后的代码,如下所示。

public static AppiumDriver driver = null;

@BeforeSuite
public static void driverInitalize() throws Exception {
try {

    DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
    desiredCapabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
    desiredCapabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
    desiredCapabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "4.4");
    desiredCapabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "a69fd414");
    URL url = new URL("http://127.0.0.1:4723/wd/hub");
    driver = new AndroidDriver(url, desiredCapabilities);
 } catch (Exception ex) {
    ex.printStackTrace();
 }
}

您必须使用功能BROWSER_NAME来指定测试用例是Web应用程序。您不应将应用程序活动和应用程序包功能用于Web应用程序。

您可以从here

查看Appium移动网络应用程序自动化的更详细代码/配置

答案 2 :(得分:0)

我已经解决了这个问题。它因为使用了不兼容版本的chrome驱动程序和chrome apk文件。

现在按预期工作。