Ответ
Тестирование смены ориентации экрана (portrait/landscape) включает следующие ключевые сценарии:
- Базовый функционал:
- Корректность отображения и адаптации UI-элементов (макет, шрифты, изображения).
- Сохранение состояния приложения (введенный текст, позиция прокрутки, активная вкладка).
- Поведение системы:
- Работа переключателя автоповорота (включено/выключено).
- Плавность и отсутствие артефактов анимации при повороте.
- Интеграционные сценарии:
- Поворот во время длительных операций: загрузка данных, потоковое видео, звонок.
- Поворот с активными всплывающими окнами (диалоги, клавиатура).
- Проверка всех экранов (Activity/Fragment) приложения на поддержку обеих ориентаций.
-
Пример автоматизации на Android (Kotlin + Espresso):
@Test fun testScreenRotationPreservesData() { // 1. Ввести текст в портретной ориентации onView(withId(R.id.editText)).perform(typeText("Sample Text")) // 2. Сменить ориентацию на ландшафтную activityTestRule.activity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE // 3. Проверить, что текст сохранился onView(withId(R.id.editText)).check(matches(withText("Sample Text"))) }