Espresso测试在Android 12上无法运行。

12

我的Pixel 4a已经升级到Android 12,现在,当我尝试在该设备上运行Espresso测试时,没有测试运行。Android Studio 显示“Tests Passed 0 passed”。没有测试运行。但是在Android 11设备上,测试仍然按预期运行。

我的测试方法使用org.junit.Test进行注释。我的测试类使用androidx.test.filters.LargeTest进行注释。

我确保升级了Android Studio。 我在build.gradle中更新了compileSdkVersion和targetSdkVersion为31。我检查了我的测试依赖项并将它们更新为以下版本:

junit:junit:4.13.2
androidx.test.ext:junit-ktx:1.1.3
androidx.test:runner:1.4.0
androidx.test:rules:1.4.0
androidx.test.uiautomator:uiautomator:2.2.0
androidx.test.espresso:espresso-core:3.4.0
androidx.work:work-testing:2.7.0

经过所有这些更改,问题仍然存在,我也在模拟器上看到了它。

还有其他人遇到过这个问题吗?


在我们这边,注释掉“execution 'ANDROIDX_TEST_ORCHESTRATOR'”解决了问题。请参考https://github.com/vector-im/element-android/pull/4433/commits/0ecf1a4ffade32ec54113b7002148edbfb2cb41a。 - bma350
1
不仅31号,30号也存在与AS Arctic Fox相同的问题。原因不明。 - BollMose
请参见 https://dev59.com/VMTra4cB1Zd3GeqP3lGp。 - CoolMind
2个回答

12

我如何解决 Android 12 的问题。

如果你想使用测试协调器

请确保你拥有最新的协调器和测试运行程序版本。

androidTestUtil 'androidx.test:orchestrator:1.4.1'
androidTestImplementation 'androidx.test:runner:1.4.0'

请确保将此代码添加到app/build.gradletestOptions中。

execution 'ANDROIDX_TEST_ORCHESTRATOR'

或者,如果你不想使用测试协调器

从 app/build.gradle 的 testOptions 中删除以下行。

 execution 'ANDROIDX_TEST_ORCHESTRATOR'
 

如何解决Android 11的问题。

(如果您有兴趣在Android 12上运行协调器,请除了上述第一步外,执行以下步骤)

在androidTest文件夹中创建一个AndroidManifest.xml,并添加以下查询权限,以通过允许协调器包与测试包通信来解决“未找到任何测试”的问题

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="your.package.name">

<!-- This Manifest will only apply changes to androidTest builds -->

<queries>
    <package android:name="androidx.test.orchestrator.OrchestratorService"/>
</queries>

<application android:forceQueryable="true" />

我已经在这里忙了4个小时,而你刚刚为我解决了这个问题。非常感谢你详细而且非常有帮助的回答! - Akres
太好了,这正是我一直在寻找的。谢谢! - Denis
1
额外的信息,Android文档显示每个构件可用的版本。这对我很有用,因为我错误地期望1.4.1适用于所有内容。https://developer.android.com/jetpack/androidx/releases/test - Zeek Aran

0

您可以按照以下方式安装 orchestrator.apk 和 test-server.apk 进行测试:

adb install --force-queryable orchestrator.apk

adb install --force-queryable test-services.apk

无需更改清单文件。


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