运行UTP测试套件时出现未知平台错误

16

尝试使用CircleCI构建android应用程序的Espresso Instrumentation测试时,遇到了运行UTP测试套件时出现未知平台错误。

任务:app:connectedDebugAndroidTest失败

将测试结果保存为file:/home/circleci/code/app/build/outputs/androidTest-results/connected/test-result.pb。通过选择菜单栏中的Run > Import Tests From File并导入test-result.pb,在Android Studio中检查这些结果。

失败:构建失败了。

  • 出了什么问题: 执行任务': app:connectedDebugAndroidTest'失败。

有失败的测试。请参阅报告:file:///home/circleci/code/app/build/reports/androidTests/connected/index.html

  • 尝试:

带上--stacktrace选项运行以获取堆栈跟踪。 带上--info或--debug选项运行以获取更多日志输出。 带上--scan以获取完整的洞察力。

12秒内构建失败 74个可操作任务:1个已执行,73个最新

<-------------> 0%等待> 空闲达到最大尝试次数(2)

以退出状态1退出

5个回答

8
在模拟器上运行测试时遇到了类似的错误,与circleci无关。这是由于存储空间不足造成的,释放一些内存并重试可以解决该问题。

最近在模拟器上运行测试时遇到了这个问题,我通过将手机连接到电脑上来节省时间。我成功地在实体设备上运行了测试。 - Eaweb

4

在新电脑上安装 Android Studio 后,在连接的设备上运行仪器化测试时,遇到了相同的问题,这个设备之前曾用于运行我的测试:

> Task :sdk-android:connectedDebugAndroidTest FAILED
Unknown platform error occurred when running the UTP test suite. Please check logs for details.

然后尝试使用命令行运行这些测试,并使用--debug选项提供有关问题的更多详细信息:

./gradlew -Pandroid.testInstrumentationRunnerArguments.class=<MY_PACKAGE>.UnitTestSuite --debug

日志:

Caused by: com.google.testing.platform.core.error.UtpException: ErrorName: INSTALL_FAILED_UPDATE_INCOMPATIBLE
….
2023-02-14T16:32:41.454+0100 [ERROR] [org.gradle.api.Task] Unknown platform error occurred when running the UTP test suite. Please check logs for details.
2023-02-14T16:32:41.455+0100 [QUIET] [org.gradle.api.Task] 

所以在我的情况下,这只是adb无法更新测试应用程序的问题。只需从设备中删除它,然后它就可以正常工作了!


尝试增加模拟器存储空间,然后重试,这将解决问题。 - RockyGlobal

0

你尝试过更新你的IDE吗?这看起来像是一个bug。


在CircleCI中,Android Studio的CI/CD工作得非常完美。 - RockyGlobal

0
问题可能有两个。第一个是要验证Android依赖项是否正确实现(androidTestImplementation和testImplementation之间存在差异),还有文件夹。在Android中,有两个文件夹,androidTest和test。我认为你应该选择test。

0

对我们来说,CI服务器还有很多剩余空间,但我们仍然遇到了在运行UTP测试套件时出现的“未知平台错误”。我发现在我们的服务器上启动模拟器时使用“-wipe-data”选项解决了这个问题。根据文档,使用“-wipe-data”选项会删除已经保存在重启中的应用状态,并释放运行测试所需的内存。

虚拟设备会在用户数据磁盘分区(userdata-qemu.img)中保留应用及其状态数据以便重启。要清除此数据,请使用-wipe-data选项启动模拟器或在AVD管理器中擦除数据。有关用户数据分区和其他存储的更多信息,请参阅以下部分。

完整的示例命令是:emulator @AVD_NAME -wipe-data


由于您指定了足够的空间来扩展模拟器存储空间,因此您将不会遇到此问题。 - RockyGlobal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接