在 mac 上使用真正的 android 设备运行自动化测试时,是不是可以将上下文切换到 WebView?

Posted

技术标签:

【中文标题】在 mac 上使用真正的 android 设备运行自动化测试时,是不是可以将上下文切换到 WebView?【英文标题】:Is it possible to switch context to WebView when run automation tests with real android device on mac?在 mac 上使用真正的 android 设备运行自动化测试时,是否可以将上下文切换到 WebView? 【发布时间】:2020-04-29 08:02:57 【问题描述】:

我在使用真正的 android 设备为 mac 上的混合应用程序运行自动化测试时遇到了问题。 我正在使用appium 并在尝试将上下文从native 切换到WebView 时出现以下错误:

原始错误:无法访问 chrome

在真正的 android 设备上从 mac 运行自动化测试时,是否可以将上下文切换到 WebView?

【问题讨论】:

【参考方案1】:

此问题可能是由于 Android 手机中使用的默认网络浏览器造成的。在具有不同网络浏览器(如三星手机中的三星网络浏览器)的手机中,默认浏览器不会设置为 Chrome。在这种情况下,请将默认浏览器设置为 Chrome 并重启手机一次。 Webviews 现在将开始使用 Chrome 打开。

【讨论】:

我试过了,但没有成功。仍然得到同样的错误。还有其他想法吗? 需要进一步调试。您可以尝试一件事adb shell am start -a android.intent.action.VIEW -d http://www.***.com。请确认这是否在 chrome 中打开。另外关于错误,是否可以共享完整的错误日志? 已解决。问题与 chromedriver 版本以及找到它的位置有关。我从chromedriver.chromium.org/downloads 下载了 chromedriver,并在 /usr/local/bin 和 /Users/username/node_modules/appium/node_modules/appium-chromedriver/chromedriver/mac 上找到了它,还将这些路径添加到环境变量中的 PATH 中。此外,请确保在 android 设备上安装了正确的 WebView 版本。此版本应适合 chromedriver 版本。如果不合适,请从apkmirror.com/apk/google-inc/android-system-webview下载相应的 WebView 版本【参考方案2】:

此问题与您的真实设备上@9​​87654323@ 和Android webview 的兼容性有关。尝试升级并尝试一下。您可以从以下链接升级它

•phone webview

•chromedriver

【讨论】:

我试过了,但没有成功。仍然得到同样的错误。还有其他想法吗?

以上是关于在 mac 上使用真正的 android 设备运行自动化测试时,是不是可以将上下文切换到 WebView?的主要内容,如果未能解决你的问题,请参考以下文章

React-native 应用程序在真正的 android 设备上崩溃

如何在真正的平板设备上运行我的安卓应用程序?

如何在 Mac OS 上设置 Appium 以在 Android 和 iOS 设备上运行来自 JAVA 类的自动化测试

在真正的 Android 设备上调试 Spring RestTemplate 真的很慢

无法在真正的 android 设备上获取当前位置

我可以在真正的 iOS 设备上从 Windows 运行 React Native 应用程序吗?