Начиная с Android 13, Camera ITS поддерживает тестирование складных устройств. Камеры складных устройств доступны или недоступны в зависимости от того, находится ли устройство в сложенном или разложенном состоянии.
Идентификаторы камер меняются в зависимости от типа, модели и марки устройства, а доступность физических фронтальных камер меняется в зависимости от состояния. Поэтому Camera ITS динамически определяет комбинацию сцены и камер для тестирования. Поскольку камеры необходимо тестировать как в сложенном, так и в разложенном состоянии, тестирование складных устройств требует повторной установки тестируемого устройства во время процесса тестирования.
Тестирование передней и задней камеры
Датчики камеры на складном устройстве различаются в зависимости от того, находится ли устройство в сложенном или разложенном состоянии. Доступность фронтальной камеры на складных устройствах зависит от состояния устройства. Например, фронтальная камера недоступна в сложенном состоянии. В связи с этим доступность фронтальной камеры необходимо тестировать как в сложенном, так и в разложенном состоянии. Система ITS камеры предполагает, что доступность задней камеры остается одинаковой независимо от того, сложено устройство или разложено, поэтому заднюю камеру достаточно проверить только один раз.
В зависимости от состояния устройства Camera ITS отфильтровывает недоступные камеры, и камеры не отображаются в списке комбинаций камер и сцен.
В следующей таблице описывается поведение теста 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
в тестовые стенды tablet
и sensor_fusion
в файле config.yml
. Camera ITS использует этот параметр для определения комбинаций camera_id
и сцены для сложенного и разложенного состояний.
Ниже приведен пример файла 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 на складном устройстве основная фронтальная камера тестируется в обоих состояниях: сложенном и разложенном. Если устройство сложено, результаты отображаются в параметре camera1_ SCENE_NAME _folded
в приложении CTS Verifier. В зависимости от состояния устройства некоторые физические идентификаторы фронтальных камер недоступны и не тестируются. Заднюю камеру необходимо тестировать только в одном состоянии, предпочтительно в сложенном, и результаты для задней камеры не имеют суффикса _folded
.
Чтобы убедиться, что сложенные сцены выполняются при сложенном устройстве, а также проверить состояние складного DUT, выполните следующую команду.
adb shell cmd device_state state
При выполнении тестов в сложенном состоянии Camera ITS выводит на терминал сообщение с предложением пользователю правильно установить устройство на корпусе ITS. Чтобы продолжить выполнение теста после появления запроса, нажмите Enter .
Если вы запускаете все сцены как в сложенном, так и в разложенном состоянии, сначала выполняются сложенные сцены, а затем развёрнутые. Это минимизирует количество повторных монтирований, необходимых во время тестирования.
Камера ITS также добавляет суффикс folded
к каталогу tmp
, созданному для сцен в сложенном состоянии.
Примеры команд
Ниже приведены примеры команд для выполнения теста на складных устройствах.
Команда | Описание |
---|---|
python tools/run_all_tests.py | Проходит все сцены. |
python tools/run_all_tests.py scenes=scene0 | Запускает сцену 0. Если устройство сложено и пользователь тестирует основную фронтальную камеру, скрипт определяет состояние устройства и добавляет суффикс _folded к имени сцены. Для запуска сцен в сложенном состоянии добавлять суффикс не требуется. |
python tests/scene0/ | Выполняет определенный тест. |