我正在使用 Espresso 测试 ViewHolder 中带有 RecyclerView 和 ComposeView 的屏幕。 我想单击 RecyclerView 中的特定可组合项 谢谢
为了与基于视图的 UI 中的可组合项进行交互,您需要将
ComposeTestRule
添加到 UI 测试中,如下所示:
@get:Rule
val composeTestRule = createEmptyComposeRule()
现在您可以使用它来识别特定的可组合项并对其执行操作:
composeTestRule.onNode(hasText("Text inside compose view")).performClick()
识别特定可组合项的另一种方法是通过标签,您需要首先在可组合项本身上设置:
Text(
text = "Some text",
modifier = Modifier.testTag("textTag")
)
然后在你的测试中:
composeTestRule.onNode(hasTestTag("textTag")).assertIsDisplayed()
编写测试规则需要以下依赖:
androidTestImplementation("androidx.compose.ui:ui-test-junit4:$compose_version")
debugImplementation("androidx.compose.ui:ui-test-manifest:$compose_version")