A partir de Android 13, el ITS de la cámara incluye compatibilidad con pruebas para dispositivos plegables. Los dispositivos plegables tienen cámaras que están disponibles o no según si el dispositivo está plegado o desplegado.
Los IDs de la cámara cambian según el tipo, el modelo y la marca del dispositivo, y la disponibilidad de las cámaras frontales físicas cambia según el estado. Por este motivo, el ITS de la cámara determina de forma dinámica las combinaciones de escena y cámara que se usarán para las pruebas. Como las cámaras deben probarse tanto en el estado plegado como desplegado, las pruebas de dispositivos plegables requieren que se vuelva a montar el DUT durante el proceso de prueba.
Pruebas de las cámaras frontal y posterior
Los sensores de la cámara disponibles en un dispositivo plegable varían según si el dispositivo está plegado o desplegado. En el caso de los dispositivos plegables, la disponibilidad de la cámara frontal cambia según el estado. Por ejemplo, la cámara frontal no está disponible cuando el teléfono está plegado. Debido a este cambio en la disponibilidad de la cámara frontal, se debe probar la cámara frontal en los estados plegado y desplegado. El ITS de la cámara supone que la disponibilidad de la cámara posterior sigue siendo la misma, ya sea que el dispositivo esté plegado o desplegado, por lo que las cámaras posteriores solo deben probarse una vez.
Según el estado del dispositivo, Camera ITS filtra los dispositivos de cámara no disponibles, y estos no aparecen en la lista de combinaciones de cámara y escena.
En la siguiente tabla, se describe el comportamiento de las pruebas de ITS de la cámara para cada orientación de la cámara.
Orientación de la cámara | Comportamiento de las pruebas de ITS de la cámara |
---|---|
Cámara posterior | Prueba la cámara una vez en el estado plegado o desplegado. |
Cámara frontal principal | Prueba la cámara una vez en el estado plegado y otra en el estado desplegado. |
Cámara frontal física | Solo prueba la cámara en los estados en los que está disponible. |
Procedimiento de prueba
En esta sección, se describen los pasos para probar las cámaras de dispositivos plegables.
Configurar dispositivo
Para obtener información sobre la configuración, consulta Configuración.
Cómo otorgar acceso a la API de prueba
Para que el ITS de la cámara determine si el dispositivo es plegable o no, debes otorgar acceso a la API de prueba antes de invocar las pruebas. Si no se otorga el acceso, se producirá una falla en la app cuando se ejecuten las pruebas de ITS de la cámara.
Para otorgar acceso, ejecuta el siguiente comando de ADB. Este comando debe ejecutarse una vez para un solo dispositivo. Si se reinstala CTS Verifier con una versión diferente, debes volver a ejecutar el comando.
adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
Archivo de configuración
Para especificar que el dispositivo es plegable, agrega el parámetro foldable_device
en los bancos de pruebas tablet
y sensor_fusion
del archivo config.yml
. El ITS de la cámara usa este parámetro para determinar las combinaciones de camera_id
y escenas 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
Cómo ejecutar pruebas
Para ejecutar las pruebas de ITS en un dispositivo plegable, ejecuta el comando run_all_tests.py
.
Para obtener más información, consulta Cómo invocar pruebas.
Cuando se ejecuta el ITS de la cámara en un dispositivo plegable, la cámara frontal principal se prueba en ambos estados, plegado y desplegado. Si el dispositivo está plegado, los resultados se muestran en la opción camera1_SCENE_NAME_folded
de la app de CTS Verifier. Según el estado del dispositivo, ciertos IDs de cámara física frontal no están disponibles y no se prueban.
La cámara trasera solo debe probarse en un estado, preferentemente el estado plegado, y los resultados de la cámara trasera no tienen el sufijo _folded
.
Para asegurarte de que las escenas plegadas se ejecuten con el dispositivo plegado y verificar el estado del DUT plegable, ejecuta el siguiente comando.
adb shell cmd device_state state
Cuando se ejecutan pruebas en un estado plegado, Camera ITS muestra un mensaje en la terminal para solicitar al usuario que configure el dispositivo correctamente en la caja de ITS. Para seguir ejecutando la prueba después del mensaje, presiona Intro.
Si ejecutas todas las escenas en los estados plegado y desplegado, las escenas plegadas se ejecutan primero, seguidas de las escenas desplegadas. Esto minimiza la cantidad de veces que se debe volver a montar durante las pruebas.
El ITS de la cámara también agrega el sufijo folded
al directorio tmp
creado para las escenas en estado plegado.
Comandos de muestra
A continuación, se muestran ejemplos de comandos para la ejecución de pruebas en dispositivos plegables.
Comando | Descripción |
---|---|
python tools/run_all_tests.py |
Ejecuta todas las escenas. |
python tools/run_all_tests.py scenes=scene0 |
Ejecuta scene0. Si el dispositivo está plegado y el usuario está probando la cámara frontal principal, la secuencia de comandos 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/ |
Ejecuta una prueba específica. |