【问题标题】:Chrome browser is not able to navigate to any site in appiumChrome 浏览器无法导航到 appium 中的任何站点
【发布时间】:2016-02-26 18:06:12
【问题描述】:

我刚刚在android模拟器中安装了chrome.apk文件,似乎安装成功了。但是当我尝试执行以下脚本时,它在模拟器设备中打开了 chrome 浏览器,但没有显示谷歌主页。很简单,司机就退出了。

示例代码:似乎是启动浏览器,但没有导航到谷歌主页

public static WebDriver driver;

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

            DesiredCapabilities desired = 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");

            driver = new RemoteWebDriver(
                    new URL("http://127.0.0.1:4723/wd/hub"), desired);
            driver.get("http://www.google.com");

        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    @Test
    public void testCase1() throws Exception {
        try {

            System.out.println(driver.getTitle());
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    @AfterSuite
    public static void tearDown() throws Exception {
        try {
            driver.quit();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

有人可以帮我解决这种行为的原因吗?

【问题讨论】:

  • 您是否遇到任何异常或错误?
  • 是的。我在 appium 服务器 org.openqa.selenium.SessionNotCreatedException 中收到以下错误消息:无法创建新会话。 (原始错误:发生错误(原始错误:chrome 无法访问(驱动程序信息:chromedriver=2.15.322448 (52179c1b310fec1797c81ea9a20326839860b7d3),platform=Windows NT 6.1 SP1 x86_64))(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:354.13 秒。但在视觉上我可以看到浏览器已启动但它在没有将 url 输入地址栏的情况下关闭。
  • 我不确定您是否需要将所有这些 htings(例如应用程序活动和应用程序包)用于使用 chrome
  • 可以删除它们并运行。对我来说,这很有效 - DesiredCapabilities 能力 = new DesiredCapabilities();能力.setCapability(“浏览器名称”,“Chrome”);能力.setCapability("automationName","Appium");能力.setCapability(“平台名称”,“Android”); // capabilities.setCapability("avd","firstavd");能力.setCapability(“设备名称”,“MiPad”);能力.setCapability("fullReset", "true"); driver = new AndroidDriver(new URL("127.0.0.1:4723/wd/hub"), capabilities);
  • 你说你安装了 chrome 对吗?但是android带有一个内置的浏览器。您可以通过更改 desired.setCapability(MobileCapabilityType.BROWSER_NAME, "Browser");检查此以获取更多信息 - appium.io/slate/en/1.4/?ruby#appium-server-capabilities

标签: java selenium-webdriver appium


【解决方案1】:

实际上我也遇到了同样的问题,经过一整天的搜索,我知道 chrome 驱动程序需要与您设备中的 chrome 浏览器兼容。在此处查看详细信息:

Chrome driver for respective browser version

然后下载合适的chrome驱动,替换成appium安装文件夹中的chrome驱动:

\Appium\node_modules\appium\node_modules\appium-chromedriver

在我的情况下是:

C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-chromedriver\chromedriver

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-11
    • 2018-10-23
    • 1970-01-01
    • 2020-09-16
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    相关资源
    最近更新 更多