我需要在混合应用程序中自动化 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 作为输出。
1 回答
宝慕林4294392
TA贡献2021条经验 获得超8个赞
为了让您能够在应用程序内对 webview 进行任何类型的调试。需要通过将此键添加到应用程序的配置中来启用 Web 视图调试选项:setWebContentsDebuggingEnabled 并将其值设置为 true。
添加回答
举报
0/150
提交
取消