Cámara ITS pruebas plegables

A partir de Android 13, Camera ITS incluye soporte de prueba para dispositivos plegables. Los dispositivos plegables tienen cámaras que están disponibles o no dependiendo de si el dispositivo está plegado o desplegado.

Las ID de las cámaras cambian según el tipo, modelo y marca del dispositivo; y la disponibilidad de cámaras frontales físicas cambia según el estado. Debido a esto, Camera ITS determina dinámicamente las combinaciones de escena y cámara que se utilizarán para las pruebas. Como las cámaras deben probarse tanto en estado plegado como desplegado, las pruebas de dispositivos plegables requieren que se vuelva a montar el DUT durante el proceso de prueba.

Prueba de cámara delantera y trasera

Los sensores de cámara disponibles en un dispositivo plegable son diferentes dependiendo de si el dispositivo está plegado o desplegado. Para los plegables, la disponibilidad de la cámara frontal cambia según el estado. Por ejemplo, la cámara frontal no está disponible en estado plegado. Debido a este cambio en la disponibilidad de las cámaras frontales, las cámaras frontales deben probarse tanto en estado plegado como desplegado. Camera ITS asume que la disponibilidad de la cámara trasera sigue siendo la misma ya sea que el dispositivo esté plegado o desplegado, por lo que las cámaras traseras solo necesitan probarse una vez.

Dependiendo del estado del dispositivo, Camera ITS filtra los dispositivos de cámara no disponibles y los dispositivos de cámara no aparecen en la lista de combinaciones de cámara y escena.

La siguiente tabla describe el comportamiento de la prueba Camera ITS para cada orientación de la cámara.

Orientación de la cámara Comportamiento de la prueba ITS de la cámara
Cámara trasera Prueba la cámara una vez en estado plegada o desplegada
Cámara frontal principal Prueba la cámara una vez en estado plegado y una vez en estado desplegado.
Cámara frontal física Prueba la cámara solo en los estados donde la cámara está disponible.

Procedimiento de prueba

Esta sección describe los pasos para probar cámaras para dispositivos plegables.

Configurar dispositivo

Para obtener información sobre la configuración, consulte Configuración .

Conceder acceso a la API de prueba

Para que Camera ITS determine si el dispositivo es plegable o no, debe otorgar acceso a la API de prueba antes de invocar las pruebas. Si no se concede el acceso, la ejecución de las pruebas Camera ITS provoca que la aplicación falle.

Para otorgar acceso, ejecute el siguiente comando ADB. Este comando debe ejecutarse una vez para un solo dispositivo. Si CTS Verifier se reinstala con una versión diferente, debe ejecutar el comando nuevamente.

adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier

Archivo de configuración

Para especificar que el dispositivo es plegable, agregue el parámetro foldable_device en los bancos de pruebas tablet y sensor_fusion en el archivo config.yml . Camera ITS utiliza este parámetro para determinar las combinaciones camera_id y escena para los estados plegado y desplegado.

El siguiente es un ejemplo de un archivo config.yml para un dispositivo plegable.

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

Ejecutar pruebas

Para ejecutar las pruebas ITS en un dispositivo plegable, ejecute el comando run_all_tests.py . Para obtener más información, consulte Invocación de pruebas .

Cuando se ejecuta Camera ITS en un dispositivo plegable, la cámara frontal principal se prueba en ambos estados, plegada y desplegada. Si el dispositivo está plegado, los resultados se muestran en la opción camera1_ SCENE_NAME _folded en la aplicación CTS Verifier. Según el estado del dispositivo, ciertas identificaciones de cámaras físicas frontales no están disponibles y no se prueban. La cámara trasera solo necesita probarse en un estado, preferiblemente en el estado plegado, y los resultados de la cámara trasera no tienen el sufijo _folded .

Para asegurarse de que las escenas plegadas se ejecuten con el dispositivo plegado y verificar el estado del DUT plegable, ejecute el siguiente comando.

adb shell cmd device_state state

Al ejecutar pruebas en un estado plegado, Camera ITS muestra un mensaje en el terminal para solicitar al usuario que configure el dispositivo correctamente en la caja ITS. Para continuar ejecutando la prueba después del mensaje, presione Enter .

Si ejecuta todas las escenas tanto en el estado plegado como desplegado, las escenas plegadas se ejecutan primero, seguidas de las escenas desplegadas. Esto minimiza la cantidad de remontaje necesario durante la prueba.

Camera ITS también agrega el sufijo folded al directorio tmp creado para escenas de estado plegado.

Comandos de muestra

Los siguientes son comandos de muestra para la ejecución de pruebas en dispositivos plegables.

Dominio Descripción
python tools/run_all_tests.py Ejecuta todas las escenas.
python tools/run_all_tests.py scenes=scene0 Ejecuta la escena0. Si el dispositivo está plegado y el usuario está probando la cámara frontal principal, el script determina el estado del dispositivo y agrega el sufijo _folded al nombre de la escena. Los usuarios no tienen que agregar el sufijo para ejecutar las escenas plegadas.
python tests/scene0/ -c config.yml python tests/scene0/ -c config.yml Ejecuta una prueba específica.