Тесты пользовательского интерфейса в Compose используют семантику для взаимодействия с иерархией пользовательского интерфейса. Семантика, как следует из названия, придает смысл части пользовательского интерфейса. В этом контексте «часть пользовательского интерфейса» (или элемент) может означать что угодно: от одного компонуемого объекта до полноэкранного режима. Дерево семантики создается вместе с иерархией пользовательского интерфейса и описывает иерархию.
Вы можете узнать больше о семантике в разделе Семантика в Compose .
Рисунок 1. Типичная иерархия пользовательского интерфейса и ее семантическое дерево.
Семантическая платформа в основном используется для обеспечения доступности, поэтому тесты используют информацию, предоставляемую семантикой об иерархии пользовательского интерфейса. Разработчики решают, что и сколько выставлять.
Рисунок 2. Типичная кнопка, содержащая значок и текст.
Например, для такой кнопки, которая состоит из значка и текстового элемента, семантическое дерево по умолчанию содержит только текстовую метку «Мне нравится». Это связано с тем, что некоторые составные объекты, такие как Text
, уже предоставляют некоторые свойства семантическому дереву. Вы можете добавлять свойства в дерево семантики с помощью Modifier
.
MyButton(
modifier = Modifier.semantics { contentDescription = "Add to favorites" }
)
Дополнительные ресурсы
- Тестирование приложений на Android . На главной целевой странице тестирования Android представлено более широкое представление об основах и методах тестирования.
- Основы тестирования . Узнайте больше об основных концепциях тестирования приложений для Android.
- Локальные тесты : некоторые тесты можно запускать локально, на своей рабочей станции.
- Инструментальные тесты . Рекомендуется также проводить инструментальные тесты. То есть тесты, которые запускаются непосредственно на устройстве.
- Непрерывная интеграция . Непрерывная интеграция позволяет интегрировать тесты в конвейер развертывания.
- Тестируйте разные размеры экрана . Поскольку пользователям доступно множество устройств, вам следует протестировать разные размеры экрана.
- Espresso : Хотя знания Espresso предназначены для пользовательских интерфейсов на основе представлений, они все же могут быть полезны для некоторых аспектов тестирования Compose.