Completa pruebas de Automotive en una caja

Complete Automotive Tests in a Box (CATBox) es un paquete de código abierto que proporciona los frameworks y las herramientas necesarias para optimizar y ejecutar la industria automotriz y pruebas con configuración mínima. CATBox es escalable y compatible con las herramientas, la infraestructura y las pruebas que usas para probar y validar implementaciones de Automotive OS (AAOS). Así, puedes proporcionar imágenes de alta calidad productos al mercado.

Diseño e implementación de CATBox

El paquete de pruebas de CATBox proporciona las herramientas, los frameworks y las pruebas que necesitas para ejecutar pruebas funcionales y de rendimiento en un dispositivo de destino de la industria automotriz mientras usan un dispositivo complementario.

En la siguiente imagen, se muestra un diseño de alto nivel de un paquete de CATBox.

CATBox

Figura 1: Paquete CATBox

Tradefed

Tradefed es un framework de pruebas continuas de código abierto que se usa para ejecutar pruebas en Dispositivos Android Para averiguar detalles, consulta Descripción general de la Federación de Comercio.

Framework de prueba de Automotive

CATBox se basa en un framework de prueba de Automotive llamado Spectatio, que proporciona APIs para realizar pruebas varias apps en dispositivos de la industria automotriz. Se basa en de UI Automator un framework de pruebas de código abierto que proporciona un conjunto de APIs para compilar pruebas de IU que interactúan con aplicaciones de usuarios y sistemas.

Descargas del paquete de pruebas de CATBox

Android 14

Android Automotive 14 es el lanzamiento de el hito de desarrollo llamado U. Usa los siguientes vínculos para descargar Conjuntos de pruebas de CATBox para Android 14:

Android 12

Android 12 es el lanzamiento del evento importante de desarrollo con el nombre interno S. Usa los siguientes enlaces para descargar los paquetes de pruebas de CATBox para Android 12:

Android 11

Android 11 es el lanzamiento del evento importante de desarrollo, cuyo nombre interno es R. Usa el los siguientes vínculos para descargar paquetes de pruebas de CATBox para Android 11:

Compila CATBox

Usa el comando de compilación catbox una vez que el código del AOSP de Android esté disponible en el estación de trabajo local.

Para compilar el paquete de CATBox de forma local, haz lo siguiente:

  1. Selecciona el dispositivo de destino según la arquitectura del dispositivo y ejecuta el siguiente comando:

    lunch <target>
    
  2. Para compilar CATBox, ejecuta el siguiente comando:

    make catbox
    

    Con este comando, se crea el archivo android-catbox.zip en el /out/host/linux-x86/catbox, que se puede usar para ejecutar pruebas.

Configura el entorno

La configuración del entorno necesaria para ejecutar pruebas de CATBox es similar a Configura el CTS. Para configurar de Google Cloud, completa cada una de estas tareas:

Configurar y ejecutar CATBox

Usa el framework de pruebas de Tradefed para ejecutar las pruebas en dispositivos Android. Antes de ti configurar CATBox, consulta la descripción general de la Federación de Comercio.

Para configurar y ejecutar CATBox, consulta las siguientes secciones.

Configura el dispositivo

Antes de ejecutar un plan de prueba, completa los siguientes pasos para configurar el dispositivo:

  1. Asegúrate de haber instalado las versiones recientes de los dos Android Debug Bridge (adb) y las Android Asset Packaging Tool (AAPT), además de agregar la ubicación de estas herramientas a la ruta de acceso del sistema de tu máquina. Para obtener más información, consulta ADB y AAPT.

  2. Conecta al menos un dispositivo y prepara el dispositivo a prueba (DUT) como sigue:

    1. Para restablecer la configuración de fábrica del dispositivo de Automotive, ve a Configuración > Sistema > Restablecer opciones > Borrar todos los datos

    2. Espera a que el dispositivo se reinicie automáticamente.

    3. Asegúrate de que adb esté habilitado. Para confirmar que el dispositivo esté disponible, ejecuta siguiente comando:

      adb devices
      
    4. Para habilitar la raíz, ejecuta el siguiente comando:

      adb -s DEVICE_SERIAL root
      

      Reemplaza DEVICE_SERIAL por el ID de serie del de un dispositivo de automóviles.

    5. Conéctate a Wi-Fi.

Extrae el paquete de CATBox

Después de configurar el dispositivo, descomprime el paquete CATBox y dirígete a la carpeta extraída:

unzip android-catbox.zip
cd android-catbox

Ejecuta pruebas en CATBox

Para ejecutar CATBox con los planes de prueba incluidos en el paquete de CATBox, sigue estos pasos:

./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL

Reemplaza DEVICE_SERIAL por el ID de serie del de un dispositivo de automóviles. Si tienes varios dispositivos conectados a la máquina anfitrión, usa DEVICE_SERIAL para distinguirlos. Reemplazar TEST_PLAN_NAME por el nombre del plan de prueba que desees se ejecuten.

Para obtener la lista más completa de los planes disponibles, usa la línea de comandos:

./tools/catbox-tradefed list plans | grep -i catbox

Tipos de planes de prueba

En la siguiente tabla, se muestran los planes de prueba funcionales disponibles.

Planes de prueba funcionales Descripción
catbox-functional Pruebas funcionales.
catbox-functional-app-info-setting Información de la app en pruebas funcionales.
catbox-functional-admin-user-grant-permissions Pruebas funcionales de permisos de usuario administrador.
catbox-functional-app-info-setting-ui-elements Información de la app en pruebas funcionales.
catbox-functional-appgrid Pruebas funcionales de la cuadrícula de apps.
catbox-functional-base Lista de pruebas funcionales.
catbox-functional-bluetooth-audio Pruebas funcionales de audio por Bluetooth.
catbox-functional-bluetooth-palette Pruebas funcionales de la barra de estado.
catbox-functional-bluetooth-tests Pruebas de Bluetooth con Mobly.
catbox-functional-brightness-palette Pruebas funcionales de la barra de estado.
catbox-functional-btmoped Pruebas funcionales basadas en el ciclomotor de Bluetooth.
catbox-functional-date-time-setting Fecha y hora en que se configuran las pruebas funcionales.
catbox-functional-dial Marca las pruebas funcionales.
catbox-functional-display-setting Se muestran las pruebas funcionales de configuración.
catbox-functional-driving-optimized-apps Pruebas funcionales de restricción de UX.
catbox-functional-enable-developers-option Habilitar las pruebas funcionales de la opción de desarrolladores
catbox-functional-home Pruebas funcionales caseras.
catbox-functional-lock-screen Pruebas funcionales de pantalla de bloqueo.
catbox-functional-mediacenter Pruebas funcionales de Media Center.
catbox-functional-microphone-recent-apps Pruebas funcionales de configuración del micrófono.
catbox-functional-microphone-setting Pruebas funcionales de configuración del micrófono.
catbox-functional-multiuser Pruebas funcionales multiusuario.
catbox-functional-multiuser-system-user Pruebas funcionales multiusuario.
catbox-functional-navigation-bar Pruebas funcionales de la barra de navegación.
catbox-functional-network-palette Pruebas funcionales de la barra de estado.
catbox-functional-network-setting Pruebas funcionales de configuración de red.
catbox-functional-notification Pruebas funcionales de notificaciones.
catbox-functional-privacy-permission-manager Pruebas funcionales de configuración de permisos de apps de privacidad.
catbox-functional-privacy-setting Pruebas funcionales de configuración del micrófono.
catbox-functional-privacy-setting-ui-elements Pruebas funcionales de la configuración de privacidad.
catbox-functional-profile-icon Pruebas funcionales de la barra de íconos de perfil.
catbox-functional-profiles-icon-list Pruebas de la lista de íconos de perfiles.
catbox-functional-security-setting Pruebas funcionales de configuración de seguridad.
catbox-functional-setting Configuración de pruebas funcionales.
catbox-functional-settings-location Configurando pruebas de ubicación.
catbox-functional-sound-setting Pruebas funcionales de configuración de sonido.
catbox-functional-status-bar Pruebas funcionales de la barra de estado.
catbox-functional-storage-setting Pruebas funcionales de configuración de almacenamiento.
catbox-functional-system-setting Pruebas funcionales de la configuración del sistema.
catbox-functional-systemui Pruebas de la IU del sistema
catbox-functional-ux-restriction Pruebas funcionales de restricción de UX.
catbox-functional-ux-restriction-facet-bar Pruebas funcionales de restricción de UX.

En la siguiente tabla, se enumeran los planes de prueba de rendimiento de CATBox.

Planes de prueba de rendimiento Descripción
catbox-performance-cold-app-start-up-dialer Prueba de rendimiento del inicio en frío de una app con Teléfono y Teléfono
catbox-performance-cold-app-start-up-mediacenter Prueba de rendimiento de inicio en frío de la app para Media Center
catbox-performance-cold-app-start-up-settings Prueba de rendimiento del inicio en frío de la app para la configuración
catbox-performance-create-and-switch-to-new-guest Mide la latencia para cambiar a un invitado nuevo.
catbox-performance-create-and-switch-to-new-user Mide la latencia para cambiar a un nuevo usuario que no sea administrador.
catbox-performance-hot-app-start-up-dialer Prueba de rendimiento de inicio en caliente de apps para Teléfono y Teléfono
catbox-performance-hot-app-start-up-mediacenter Prueba de rendimiento del inicio en caliente de la app para Media Center.
catbox-performance-hot-app-start-up-settings Prueba de rendimiento del inicio en caliente de la app para Configuración.
catbox-performance-jank-appgrid Prueba de rendimiento de Appgrid.
catbox-performance-jank-contact-list Prueba de rendimiento para Contactos.
catbox-performance-jank-media Pruebas de rendimiento para el contenido multimedia.
catbox-performance-jank-media-switch-playback Prueba de rendimiento para la reproducción con interruptor de medios.
catbox-performance-jank-notifications Prueba de rendimiento de las notificaciones.
catbox-performance-jank-settings Prueba de rendimiento de la configuración.
catbox-performance-switch-to-existing-user Mide la latencia para cambiar a un usuario existente.

Ejecuta la prueba del host multidispositivo

Para ejecutar pruebas del host multidispositivo, se usa CATBox en una sesión. Por ejemplo, BTDiscoveryTest:

make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest

CATBox instala apk y, luego, la prueba se ejecuta en el Python correcto. entorno de ejecución.

Revisa los resultados de la prueba de CATBox

Los resultados de las ejecuciones de pruebas funcionales y de rendimiento se guardan en android-catbox/results/latest

Tipo de resultado Ubicación
Resultados de la prueba test_result.xml
Detalles de las pruebas de errores test_result_failures_suite.html
Resultados de las métricas de rendimiento /report-log-files/CatboxPerformanceTests.reportlog.json
Ejecuciones de pruebas funcionales y de rendimiento /android-catbox/logs/latest