【问题标题】:Not able to navigate in mobile chrome browser无法在移动 chrome 浏览器中导航
【发布时间】:2016-06-14 19:31:54
【问题描述】:

我有以下代码,它将启动一个应用程序并切换到移动 chrome 浏览器并导航到 www.google.com

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("BROWSER_NAME","Android");
capabilities.setCapability("device","Android");
capabilities.setCapability("deviceName","hammerhead");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("appPackage","com.android.calculator2");
capabilities.setCapability("appActivity","com.android.calculator2.Calculator"
              );
mobileDriver = new AndroidDriver(new URL(
                    "http://127.0.0.1:4723/wd/hub"), capabilities);
mobileDriver.startActivity("com.android.browser","com.android.browser.BrowserActivity");
mobileDriver.get("www.google.com");

当 .get 方法被调用时,执行抛出以下错误:

尚未实施。请帮助我们:http://appium.io

【问题讨论】:

    标签: java android appium selendroid java-client


    【解决方案1】:

    如果您的需求仅限于打开 chrome 浏览器到 X url,您应该查看 ACTION_VIEW 隐式 Intent。

    Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
    startActivity(browserIntent);
    

    【讨论】:

    • 导航后是否还需要在搜索框中输入一些数据。在那种情况下,我还需要创建 Intent 对象吗?
    • 您尝试在搜索框中发送哪种数据?如果不是敏感信息,可以通过 URL 传递参数吗?
    【解决方案2】:

    你可以这样做 -

    String urlString="http://127.0.0.1:4723/wd/hub";
    Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse(urlString));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setPackage("com.android.chrome");
    try {
        context.startActivity(intent);
    } catch (ActivityNotFoundException ex) {
        // Chrome browser presumably not installed so allow user to choose instead
        intent.setPackage(null);
        context.startActivity(intent);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-07
      • 1970-01-01
      • 1970-01-01
      • 2013-01-19
      相关资源
      最近更新 更多