Appium 不显示 webview 上下文,它只显示本机应用程序上下文。如何获取 webview 上下文?
Posted
技术标签:
【中文标题】Appium 不显示 webview 上下文,它只显示本机应用程序上下文。如何获取 webview 上下文?【英文标题】:Appium does not show webview context, it only showing native app context. How to get webview context? 【发布时间】:2019-06-28 22:56:18 【问题描述】:我正在尝试获取可用的应用程序上下文并想切换到 webview 上下文,但 appium 只获得了 Navive 应用程序。
应用程序也启用了 WebView。
Appium 版本:1.10.1 ChromeDriver 版本:2.44 桌面操作系统/版本:Windows 10 Node.js 版本:10.14.2 包管理器:Npm 移动平台/版本:android/8.1.0 真实设备或模拟器/模拟器:google pixel 2 模拟器Appium CLI 或 Appium.app|exe:两者都试过
public void webView()
try
Set<String> context = driver.getContextHandles();
for(String cont: context)
System.out.println("Available Context : " + cont);
if(cont.contains("WEBVIEW"))
driver.context(cont);
System.out.println("current context :"+cont);
else
System.out.println("Opps");
catch (InterruptedException e)
e.printStackTrace();
我希望输出作为 Native App 和应用程序的 WebView,但实际输出只是获取 Native App。
【问题讨论】:
你能发布 adb logcat 日志吗? gist.github.com/gohilniks/cc688f55fd495b94f34fefaa02f34353 这是日志文件 您可以发布您正在设置的所需功能吗?另外,你是如何初始化驱动的 gist.github.com/gohilniks/e2ab818b68266cb99cfca305e250745b 这是代码示例的链接 【参考方案1】:请让您的开发人员将 setWebContentsDebuggingEnabled 设置为 true。参考以下链接 https://developer.android.com/reference/android/webkit/WebView.html#setWebContentsDebuggingEnabled(boolean)
【讨论】:
【参考方案2】:在ios中
能够通过 safari 更改上下文。
但不要从本机应用安装设备的 web 视图更改上下文
【讨论】:
以上是关于Appium 不显示 webview 上下文,它只显示本机应用程序上下文。如何获取 webview 上下文?的主要内容,如果未能解决你的问题,请参考以下文章
appium上下文切换webview调试以及chromedriver/键盘等报错问题解决
无法在 iOS Appium 测试(AWS Device Farm)上切换到 WebView 上下文
APPIUM ANDROID 混合应用程序:在混合应用程序中从本机导航到 Web 视图时,无法将驱动程序上下文获取为“WEBVIEW”