Какие знаешь инструменты для UI тестирования

«Какие знаешь инструменты для UI тестирования» — вопрос из категории Тестирование, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Espresso - фреймворк для написания UI-тестов под Android. Позволяет взаимодействовать с элементами интерфейса и проверять их состояние. Пример:

@Test
fun checkButtonText() {
    onView(withId(R.id.button))
        .check(matches(withText("Submit")))
}

UI Automator - подходит для кросс-приложенных тестов, работает с системными UI элементами. Позволяет тестировать взаимодействие между разными приложениями.

Barista - обертка над Espresso с упрощенным синтаксисом. Пример:

assertDisplayed("Welcome text")
clickOn(R.id.button)

Robolectric - позволяет запускать UI-тесты на JVM без эмулятора/устройства, ускоряя разработку.

Jetpack Compose Testing - библиотека для тестирования Compose UI с помощью семантики. Пример:

composeTestRule.onNodeWithText("Submit").assertIsDisplayed()