APPIUM ANDROID 混合应用程序:从混合应用程序中的本机导航到 Web 视图时

我需要在混合应用程序中自动化 Web 视图。本机部分自动化进展顺利。单击本机视图中的按钮之一后,应用程序将进一步导航到 Chrome 浏览器并打开 Web 视图。现在,问题是我无法使用 driver.getContextHandles() 在字符串集中获取“WEBVIEW”。即使导航到网络视图后,我也只能获得“NATIVEAPP”的值。请让我知道我哪里出错了,或者还有其他方法可以解决这个问题。


尝试使用 driver.getContextHandles() 获取所有上下文,然后运行“for 循环”将驱动程序设置为 WEBVIEW 上下文,以在 webview 上执行进一步的操作。


    //Below code is after clicking on the button on native view which 

    //navigate to the web view in the chrome browser

    Set<String> contextNames = driver.getContextHandles();

    System.out.println(contextNames);

    for (String conName : contextNames) {

    System.out.println(conName);

    if (conName.contains("WEBVIEW"))

            {

    driver.context(conName);

    }

    }


    //clicking action in the webview in browser

    driver.findElement(By.xpath(XYZ)).click();

我期望 driver.getContextHandles() 值为:NATIVEAPP,WEBVIEW。但我只得到 NATIVEAPP 作为输出。


四季花海
浏览 89回答 1
1回答

宝慕林4294392

为了让您能够在应用程序内对 webview 进行任何类型的调试。需要通过将此键添加到应用程序的配置中来启用 Web 视图调试选项:setWebContentsDebuggingEnabled 并将其值设置为 true。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java