APPIUM ANDROID 混合应用程序:在混合应用程序中从本机导航到 Web 视图时无法获取驱动程序上下文 'WEBVIEW'
APPIUM ANDROID Hybrid App: Not able to get driver context as 'WEBVIEW' when navigating to the web view from native in Hybrid app
我需要在 Hybrid 应用程序中自动化 Web 视图。本机部件自动化进展顺利。单击本机视图中的其中一个按钮后,应用程序将进一步导航到 Chrome 浏览器并打开 Web 视图。现在,问题是我无法使用 driver.getContextHandles() 在字符串集中获取 'WEBVIEW'。即使在导航到 webview 之后,我也只能获得 'NATIVEAPP' 的价值。请让我知道我哪里出错了,或者有任何其他方法可以解决同样的问题。
尝试 driver.getContextHandles() 获取所有上下文,然后 运行 'for loop' 将驱动程序设置为 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 作为输出。
为了让您能够在应用程序内对 webview 进行任何类型的调试。需要通过将此键添加到应用程序的配置来启用 Web 视图调试选项:setWebContentsDebuggingEnabled 并将其值设置为 true。
我需要在 Hybrid 应用程序中自动化 Web 视图。本机部件自动化进展顺利。单击本机视图中的其中一个按钮后,应用程序将进一步导航到 Chrome 浏览器并打开 Web 视图。现在,问题是我无法使用 driver.getContextHandles() 在字符串集中获取 'WEBVIEW'。即使在导航到 webview 之后,我也只能获得 'NATIVEAPP' 的价值。请让我知道我哪里出错了,或者有任何其他方法可以解决同样的问题。
尝试 driver.getContextHandles() 获取所有上下文,然后 运行 'for loop' 将驱动程序设置为 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 作为输出。
为了让您能够在应用程序内对 webview 进行任何类型的调试。需要通过将此键添加到应用程序的配置来启用 Web 视图调试选项:setWebContentsDebuggingEnabled 并将其值设置为 true。