混合应用程序不显示 WebView 上下文并且无法在应用程序中定位元素

问题描述

我正在尝试自动化混合应用程序。我面临着上下文的问题。我正在设置应用上下文

appiumdriver.context("WEBVIEW_appPackagename");

现在我以前能够自动化它。但我认为 Webview 发生了变化,我无法再定位元素了。我已经从 appium UI 视图中检查过。它确实像这样显示配置。

这就是我在 Android Appium 上的视图的样子。

enter image description here

当我运行定位元素的示例代码时。它现在不工作了。相同的代码以前工作过。我试过切换网页视图。但这无济于事。

    appiumdriver = new AppiumDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);
    //appiumdriver.context("WEBVIEW_com.barbri.nexgen");
    appiumdriver.context("WEBVIEW_1");

我已经一一试过了。但它没有帮助。能力还行。任何人都可以向我建议任何解决方案吗?它的混合离子应用程序。经过大量研究,我正在询问此代码

一些注意事项: -Chrome 检查设备不再为 webview 检查显示此应用程序。 -Appium 仅显示为 webview。但无法再定位元素

解决方法

首先,尝试了解您的应用中所有可用的上下文。希望此 doc 能帮到您。

解决问题的第二种方法是启动应用程序,并将网络视图作为默认设置。您需要在所需的功能中添加字段:

{
 autoWebview: true,}

有关可用所需功能的更多信息 here