运行
uiautomatorviewer
时,我收到以下NullPointerException
错误:
我已经按照设置过程安装并设置了 Appium,并为 ANDROID_HOME 和 Android SDK 设置了环境变量。
uiautomatorviewer
命令使用 Path 用户变量,该变量指向 Sdk/tools/bin
文件所在的目录 uiautomatorviewer.bat
。根据我在线阅读的所有内容,运行此可执行文件应打开 UiAutomatorViewer 应用程序,以便我可以检查 Android 应用程序上的元素。为什么这不起作用?
Java SDK 9 和 10 不适用于 Appium 和 Android SDK。您必须卸载更新版本的 Java SDK 并安装 Java 8 SDK。
遵循此过程:
brew cask uninstall java # uninstall java9
brew tap caskroom/versions
brew cask install java8 # install java8
touch ~/.android/repositories.cfg # without this file, error will occur on next step
brew cask install android-sdk
您可以重新连接设备并重新启动它和
uiautomator
吗?但请确保测试脚本没有在后台运行。或者您可以杀死adb server
并重新启动它。
您可以去检查UIAutomatorViewer教程:Android测试检查器中是否忘记了任何步骤。
我将 uiautomatorviewer 与 corretto-11.0.13 一起使用(在 .bat 文件中进行一些编辑后),直到我将 Android Studio 升级到 2021.2.1 (Chipmunk)(以解决 Android 构建中的另一个问题)并且问题并没有消失。不仅如此,更多的问题也出现了。 uiautomatorviewer 再次无法工作。
我回滚到 Android Studio 4.1.1,恢复了在 find_java.bat 文件中所做的更改,并且它再次工作了。
这确实似乎被破坏了,因为它只适用于 Java 8。
卸载其他 Java 版本没有帮助,因为我需要它们。
但可以编辑
tools/bin/uiautomatorviewer.bat
;找到这部分:
rem Check we have a valid Java.exe in the path.
set java_exe=
并在上面设置一个备用
JAVA_HOME
变量(这是 IntelliJ 下载 JDK 的地方)。
set JAVA_HOME=C:\Users\username\.jdks\corretto-1.8.0_382
您必须在系统环境变量中添加以下Android/sdk/tools/bin/。 如果您使用的是window操作系统,您可以像下面这样做:
C:\Users\AppData\Local\Android\Sdk 工具
然后您将能够在命令提示符中运行 uiautomatorviewer 命令。
另一种方法是在 Android/sdk/tools/bin/ 文件夹中打开命令提示符,然后运行 uiautomatorviewer 命令。