【问题标题】:Unable to open the page in chrome using android emulator无法使用android模拟器在chrome中打开页面
【发布时间】:2016-03-05 08:59:57
【问题描述】:

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

示例代码:

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");

谁能帮帮我。

【问题讨论】:

  • 请分享你的脚本
  • 截图不够。显示实际代码和错误消息或结果。请阅读minimal reproducible example
  • 您可以编辑您的问题以添加其他信息。
  • edit将代码放入问题中。
  • 您的导航部分在哪里.. Driver.get 它在哪里。我看不到它。驱动初始化是正确的。数据没问题。它必须知道它必须去 google.com 对吗?

标签: java android android-emulator appium


【解决方案1】:
    driver.get("www.google.com");

您的代码中缺少此内容。会怎样。它已正确创建驱动程序。但是你必须告诉他去哪里。当您在临时配置文件中打开网络驱动程序时,您可以获得正常的主页(如果这是您正在寻找的)。如果你想打开一个特定的浏览器配置文件,你必须告诉它在创建 chromedirver 时使用标志 --user-data-dir 打开该配置文件。

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

【讨论】:

  • 它将成为@BeforeClass 的一部分。我只是在其中调用了 get 方法。另外,您能否向我解释一下标志--user-data-dir?像我需要在功能中指定apk文件位置吗?
  • @SKumar 那么问题是什么,现在它不去 google.com 了? .它是在执行那条线吗?
  • 它执行得很好,但它没有导航到谷歌页面。仅显示我在此处发布的图像。 url 地址显示 .data 而不是 google.com
  • 我仍然不明白如果不通过浏览器功能,您如何能够创建浏览器会话。上次我检查过您必须在功能中传递浏览器名称,例如 capabilities.setCapability("browserName", "Chrome");
  • 很抱歉给您带来不便。我刚刚发布了错误的代码,该代码用于打开安装在模拟器(计算器)中的 apk。请找到更新后的代码。
【解决方案2】:

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

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 移动 Web 应用自动化的详细代码/配置

【讨论】:

    【解决方案3】:

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

    它现在按预期工作。

    【讨论】:

      猜你喜欢
      • 2016-03-01
      • 2013-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多