Тестирование складывающихся камер ITS

Начиная с Android 13, Camera ITS включает поддержку тестирования складных устройств. Складные устройства имеют камеры, которые доступны или недоступны в зависимости от того, находится ли устройство в сложенном или разложенном состоянии.

Идентификаторы камеры меняются в зависимости от типа, модели и марки устройства; а наличие физических передних камер меняется в зависимости от штата. По этой причине Camera ITS динамически определяет комбинацию сцены и камеры, используемую для тестирования. Поскольку камеры необходимо тестировать как в сложенном, так и в развернутом состоянии, тестирование складных устройств требует повторной установки тестируемого устройства в процессе тестирования.

Тестирование передней и задней камеры

Датчики камеры, доступные на складном устройстве, различаются в зависимости от того, находится ли устройство в сложенном или разложенном состоянии. Для складных устройств доступность передней камеры меняется в зависимости от состояния. Например, передняя камера недоступна в сложенном состоянии. Из-за этого изменения в доступности фронтальной камеры ее необходимо тестировать как в сложенном, так и в разложенном состоянии. Camera ITS предполагает, что доступность задней камеры остается неизменной независимо от того, сложено или развернуто устройство, поэтому задние камеры необходимо протестировать только один раз.

В зависимости от состояния устройства Camera ITS отфильтровывает недоступные устройства камеры, и устройства камеры не отображаются в списке комбинаций камер и сцен.

В следующей таблице описано поведение камеры при тестировании ITS для каждой ориентации камеры.

Ориентация камеры Поведение камеры при тестировании ITS
Задняя камера Камера тестируется один раз в сложенном или развернутом состоянии.
Основная фронтальная камера Тестирует камеру один раз в сложенном и один раз в разложенном состоянии.
Физическая фронтальная камера Тестирует камеру только в тех штатах, где камера доступна.

Тестовая процедура

В этом разделе описаны шаги по тестированию камер для складных устройств.

Настроить устройство

Информацию о настройке см. в разделе Настройка .

Предоставить тестовый доступ к API

Чтобы 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 .

Чтобы убедиться, что сложенные сцены выполняются со сложенным устройством, и проверить состояние складного тестируемого устройства, выполните следующую команду.

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/ -c config.yml python tests/scene0/ -c config.yml Запускает специальный тест.