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.
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:
Selecciona el dispositivo de destino según la arquitectura del dispositivo y ejecuta el siguiente comando:
lunch <target>
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:
Instala ADB y AAPT.
Instala el JDK. Consulta Java Development Kit para Ubuntu.
Aumenta el límite de memoria. Consulta Requisitos de almacenamiento.
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:
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.
Conecta al menos un dispositivo y prepara el dispositivo a prueba (DUT) como sigue:
Para restablecer la configuración de fábrica del dispositivo de Automotive, ve a Configuración > Sistema > Restablecer opciones > Borrar todos los datos
Espera a que el dispositivo se reinicie automáticamente.
Asegúrate de que adb esté habilitado. Para confirmar que el dispositivo esté disponible, ejecuta siguiente comando:
adb devices
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.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 |