我正在尝试为某些视图编写 UI 测试,其中一些测试已经在 Java 中实现。我还打算包含对 Compose 视图的测试。然而,在我的尝试中,使用测试标签或内容描述都没有被 Espresso 识别。此外,我在将 Compose 测试规则集成到 Java 测试类中时面临着挑战。如果有人成功实现了这一目标或者可以提供与此事相关的建议,这将极大地帮助我了解如何实现这一目标。
将所需的依赖项添加到您的项目中:
androidTestImplementation 'androidx.test.espresso:espresso-core:<VERSION>'
androidTestImplementation 'androidx.compose.ui:ui-test:<VERSION>'
然后在您的测试类中创建一个 Compose Test Rule 实例。
现在使用 Compose Test Rule 的
setContent
方法来设置测试的 Compose 内容:
composeTestRule.setContent {
// Your Compose content here.
}
然后使用
Compose Test Rule的
onNode
方法与 Compose 视图进行交互:
composeTestRule.onNode(hasText("Test message.")).performClick()
最后要与 XML 视图交互,您可以使用常规 Espresso 方法:
onView(withId(R.id.button)).perform(click())