将 androidTest 迁移到 Compose

时间:2021-04-24 15:07:11

标签: android android-espresso android-jetpack-compose

我们正在将我们的 Android 应用迁移到 Jetpack Compose。

在我们基于视图的旧应用中,我们有很多 androidTest 测试,在模拟器上运行,使用 Espresso。

我们的大多数测试都大量使用 Espresso withId() 匹配器。但是当然,由于 Composables 不像 Views 那样有 id,我们有一个问题。 有没有办法将 id 分配给可组合项,并使用 withId() 重用现有的 Espresso 测试? 如果这是不可能的或某种不好的方法,例如在屏幕上搜索特定 UI 元素并单击它的正确方法是什么?

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

您可以将 testTag 修饰符应用于您的可组合项。
类似的东西:

   Button(modifier = Modifier.testTag("myButton"), onClick = {}) {
         Text("myButton")
   }

然后你可以使用它:

   rule.onNodeWithTag("myButton")
        .assertIsEnabled()
相关问题