【问题标题】:Appium driver has no WEBVIEW contextAppium 驱动程序没有 WEBVIEW 上下文
【发布时间】:2018-04-17 17:42:04
【问题描述】:

我正在为在真实 Android 设备上运行的 Chrome 浏览器编写 Appium 测试。 这段代码:

Set<String> contextNames = driver.getContextHandles();
for (String contextName: contextNames) {
    System.out.println(contextName);
}

...仅返回 NATIVE_APP 和 CHROMIUM 上下文,启用 WEBVIEW 缺少什么? 或者至少,你能指定谁负责提供上下文吗? 谢谢!

Appium 1.7.1 / Selenium / Java

public static AndroidDriver<AndroidElement> capabilities() throws MalformedURLException

{
    AndroidDriver<AndroidElement>  driver;
    DesiredCapabilities capabilities = new DesiredCapabilities();

    capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android Device");
    capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");

    driver = new AndroidDriver<AndroidElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

    return driver;
}

【问题讨论】:

  • 最新版本的 chromium 或最新版本的 android 甚至 webview 都显示原生元素,使用哪个版本的 android 设备?
  • 三星 Galaxy S6 与 Android 7.0
  • 是的,如果您使用的是android 7.0,则无需切换上下文,您可以编写本机脚本

标签: java appium appium-android


【解决方案1】:

通过 PlayStore 更新您 Android 设备的 Android System WebView

使用新的 UIautomator,您无需将驱动程序切换到 webview。它具有识别 webView 中元素的内置功能。

您还可以使用 UIAutomator 在 Android 6.0+ 设备上查看 webView 中的元素,就像查看原生元素一样。

【讨论】:

    猜你喜欢
    • 2014-08-22
    • 2020-05-15
    • 2014-10-21
    • 2019-06-28
    • 1970-01-01
    • 2017-07-18
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多