Я работаю над приложением для Android, в котором широко используются компоненты Material Design. Приложение отлично работает в нормальных условиях, при этом все элементы пользовательского интерфейса, включая переключатели MaterialButtonToggleGroup для кнопок Ctrl, Alt/Option и Command, видимы и функциональны. Однако при запуске тестов Espresso, направленных на тестирование пользовательского интерфейса, эти переключатели не отображаются в имитируемой среде, что приводит к неудачным тестам из-за их невидимости. Эти компоненты не обнаружены Espresso во время тестирования, что приводит к исключению NoMatchingViewException.
Вопросная ошибка:
Код: Выделить всё
androidx.test.espresso.NoMatchingViewException: No views in hierarchy found matching: view.getId() is
Макет XML:
Вот упрощенная версия макета, включающая MaterialButtonToggleGroup:
Это фрагмент теста Espresso, в котором проверка видимости не удалась:
Код: Выделить всё
@Test
public void testIsCtrlButtonDisplayed() {
onView(withParent(withId(R.id.ctrlToggleButton))).check(matches(isDisplayed()));
}
Пытался найти идентификаторы кнопок-переключателей в исходном фрагменте другим способом, все равно вылетает.
Подробнее здесь:
https://stackoverflow.com/questions/782 ... esso-tests