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