Начиная с Android 13, Camera ITS включает поддержку тестирования складных устройств. Камеры складных устройств доступны или недоступны в зависимости от того, находится ли устройство в сложенном или разложенном состоянии.
Идентификаторы камер меняются в зависимости от типа, модели и марки устройства; а наличие физических фронтальных камер зависит от состояния. Поэтому Camera ITS динамически определяет комбинации сцен и камер для тестирования. Поскольку камеры необходимо тестировать как в сложенном, так и в разложенном состоянии, тестирование складных устройств требует повторной установки тестируемого устройства в процессе тестирования.
Тестирование передней и задней камер
Доступные на складных устройствах датчики камеры различаются в зависимости от того, находится ли устройство в сложенном или разложенном состоянии. Для складных устройств доступность фронтальной камеры меняется в зависимости от состояния. Например, в сложенном состоянии фронтальная камера недоступна. Из-за этого изменения доступности фронтальной камеры, тестирование фронтальных камер необходимо проводить как в сложенном, так и в разложенном состоянии. Система Camera ITS предполагает, что доступность задней камеры остается неизменной независимо от того, сложено устройство или разложено, поэтому задние камеры достаточно протестировать только один раз.
В зависимости от состояния устройства, Camera ITS отфильтровывает недоступные камеры, и они не отображаются в списке комбинаций камер и сцен.
В таблице ниже описано поведение теста Camera ITS для каждой ориентации камеры.
| Ориентация камеры | Тестирование поведения камеры ITS |
|---|---|
| задняя камера | Проверяет работу камеры один раз в сложенном или разложенном состоянии. |
| Основная фронтальная камера | Проверяет камеру один раз в сложенном состоянии и один раз в разложенном состоянии. |
| Физическая фронтальная камера | Тестирование камеры проводится только в тех штатах, где она доступна. |
Процедура тестирования
В этом разделе описаны шаги по тестированию камер складных устройств.
Настройка устройства
Для получения информации о настройке см. раздел «Настройка» .
Предоставить доступ к тестовому API
Чтобы Camera ITS могла определить, является ли устройство складным, необходимо предоставить доступ к тестовому API перед запуском тестов. Если доступ не предоставлен, запуск тестов Camera ITS приведет к сбою приложения.
Для предоставления доступа выполните следующую команду ADB. Эту команду необходимо выполнить один раз для одного устройства. Если CTS Verifier был переустановлен с другой версией, необходимо выполнить команду снова.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifierФайл конфигурации
Чтобы указать, что устройство является складным, добавьте параметр foldable_device в файлы config.yml как tablet , так и для тестовой среды sensor_fusion . Camera ITS использует этот параметр для определения комбинаций camera_id и scene для сложенного и разложенного состояний.
Ниже приведён пример файла config.yml для складного устройства.
TestBeds:
- Name: TABLET_SCENES
# Test configuration for scenes[0:4, 6]
Controllers:
AndroidDevice:
- serial: 8A9X0NS5Z
label: dut
- serial: 5B16001229
label: tablet
TestParams:
brightness: 192
chart_distance: 22.0
debug_mode: "False" # "quotes" needed
chart_loc_arg: ""
camera: 0
scene: scene2_a
lighting_cntl: arduino # can be "arduino" or "None"
lighting_ch: 1
foldable_device: "True" # "False" for non-foldable DUTs
Запустите тесты
Для запуска тестов ITS на складном устройстве выполните команду run_all_tests.py . Подробности см. в разделе «Запуск тестов» .
При запуске Camera ITS на складном устройстве основная фронтальная камера тестируется в обоих состояниях: в сложенном и разложенном. Если устройство сложено, результаты отображаются в приложении CTS Verifier в разделе camera1_ SCENE_NAME _folded . В зависимости от состояния устройства некоторые физические идентификаторы фронтальной камеры недоступны и не тестируются. Заднюю камеру достаточно протестировать только в одном состоянии, предпочтительно в сложенном, и результаты для задней камеры не будут иметь суффикса _folded .
Чтобы убедиться, что сценарии в сложенном состоянии выполняются при сложенном устройстве, и проверить состояние складного тестируемого устройства, выполните следующую команду.
adb shell cmd device_state stateПри выполнении тестов в сложенном состоянии Camera ITS отображает на терминале сообщение с просьбой правильно настроить устройство на устройстве ITS. Чтобы продолжить выполнение теста после появления запроса, нажмите Enter .
Если вы запускаете все сцены как в свернутом, так и в развернутом состоянии, сначала выполняются свернутые сцены, а затем развернутые. Это сводит к минимуму количество перемонтирований, необходимых во время тестирования.
Camera ITS также добавляет суффикс folded к tmp каталогу, созданному для сцен в сложенном состоянии.
Примеры команд
Ниже приведены примеры команд для выполнения тестов на складных устройствах.
| Командование | Описание |
|---|---|
python tools/run_all_tests.py | Запускает все сцены. |
python tools/run_all_tests.py scenes=scene0 | Запускает сцену 0. Если устройство сложено и пользователь тестирует основную фронтальную камеру, скрипт определяет состояние устройства и добавляет суффикс _folded к имени сцены. Пользователям не нужно добавлять суффикс для запуска сцен в сложенном состоянии. |
python tests/scene0/ | Выполняет определённый тест. |