标签: gradle-managed-device

使用 Gradle 托管设备进行 Android Github 操作

我尝试使用Gradle 托管设备和 Github 操作进行 CI 测试。我做了几次尝试,但大多遇到

 Execution failed for task ':app:nexusOneApi30Setup'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.ManagedDeviceSetupTask$ManagedDeviceSetupRunnable
   > java.lang.IllegalStateException: Gradle was not able to complete device setup for: dev30_aosp_atd_x86_Nexus_One
     This could be due to having insufficient resources to provision the number of
     devices requested. Try running the test again and request fewer devices or
     fewer shards.
Run Code Online (Sandbox Code Playgroud)

作为来源,我在我的fork中使用https://github.com/android/testing-samples/tree/main/ui/espresso/ScreenshotSample,它在本地正常工作

android android-espresso github-actions gradle-managed-device

7
推荐指数
1
解决办法
627
查看次数

Gradle 托管设备无法从测试执行器接收测试结果

使用gradle版本8.0.2

我正在使用 gradle 托管设备在 2 个模拟器上并行运行 Android Espresso 测试。我使用以下命令运行它:

./gradlew pixel4api31DebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.xxx.yyy.zzz.Suites.CITestSuite -Pandroid.experimental.androidTest.numManagedDeviceShards=2 --enable-display -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect"
Run Code Online (Sandbox Code Playgroud)

测试完成后,我看到以下错误:

Could not receive test results from the test executor.
io.grpc.StatusRuntimeException: CANCELLED: client cancelled
        at io.grpc.Status.asRuntimeException(Status.java:526)
        at io.grpc.stub.ServerCalls$StreamingServerCallHandler$StreamingServerCallListener.onCancel(ServerCalls.java:284)
        at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.closedInternal(ServerCallImpl.java:353)
        at io.grpc.internal.ServerCallImpl$ServerStreamListenerImpl.closed(ServerCallImpl.java:341)
        at io.grpc.internal.ServerImpl$JumpToApplicationThreadServerStreamListener$1Closed.runInContext(ServerImpl.java:844)
        at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
        at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:123)
        at java.base@11.0.18/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base@11.0.18/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base@11.0.18/java.lang.Thread.run(Thread.java:829)
Run Code Online (Sandbox Code Playgroud)

56m 28s 内构建失败

当我导航到结果位置时:测试执行已完成。查看报告:file:///Users/xxx/repos/android/test/app/build/reports/androidTests/managedDevice/allDevices/index.html

它表明所有测试都成功通过: 在此输入图像描述

有谁知道我如何修复此错误,因为无法看到导致构建失败的测试结果?

./gradlew -v

------------------------------------------------------------
Gradle 8.0.2
------------------------------------------------------------

Build time:   2023-03-03 16:41:37 UTC
Revision:     7d6581558e226a580d91d399f7dfb9e3095c2b1d

Kotlin:       1.8.10
Groovy:       3.0.13
Ant:          Apache Ant(TM) version 1.10.11 compiled on July …
Run Code Online (Sandbox Code Playgroud)

android gradle android-espresso grpc gradle-managed-device

5
推荐指数
0
解决办法
406
查看次数

通过 gradle 托管设备运行测试时显示 android 模拟器

通过gradle 托管设备运行 android espresso 测试时,即运行:

./gradlew pixel4api30DebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=com.aaa.bbb.ccc.Suites.TestSuite -Pandroid.experimental.androidTest.numManagedDeviceShards=3
Run Code Online (Sandbox Code Playgroud)

是否可以在运行测试时显示模拟器,以便您能够看到发生了什么?

android gradle android-espresso gradle-managed-device

4
推荐指数
1
解决办法
553
查看次数