Complete Automotive Tests in a Box (CATBox) es un paquete de código abierto que proporciona los marcos y herramientas necesarios para optimizar y ejecutar pruebas automotrices con una configuración mínima. CATBox es escalable y compatible con las herramientas, la infraestructura y las pruebas que utiliza para probar y validar sus implementaciones del sistema operativo Android Automotive (AAOS). Como resultado, puede ofrecer productos de alta calidad al mercado.
Diseño e implementación de CATBox.
El conjunto de pruebas CATBox proporciona las herramientas, los marcos y las pruebas necesarias para ejecutar pruebas funcionales y de rendimiento en un dispositivo de destino automotriz y mientras se utiliza un dispositivo complementario.
La siguiente imagen ilustra un diseño de alto nivel de un paquete CATBox.
Figura 1. Paquete CATBox
comercializado
Tradefed es un marco de pruebas continuas de código abierto que se utiliza para ejecutar pruebas en dispositivos Android. Para obtener más información, consulte Descripción general de la Federación de Comercio .
Marco de pruebas automotrices
CATBox se basa en un marco de pruebas automotrices llamado Spectatio , que proporciona API para probar varias aplicaciones en dispositivos automotrices. Está construido sobre UI Automator , un marco de prueba de código abierto, que proporciona un conjunto de API para crear pruebas de UI que interactúan con las aplicaciones del usuario y del sistema.
Descargas del conjunto de pruebas CATBox
Androide 14
Android Automotive 14 es el lanzamiento del hito de desarrollo con nombre clave U. Utilice los siguientes enlaces para descargar los conjuntos de pruebas CATBox para Android 14:
androide 12
Android 12 es el lanzamiento del hito de desarrollo con nombre en código S. Utilice los siguientes enlaces para descargar los conjuntos de pruebas CATBox para Android 12:
androide 11
Android 11 es el lanzamiento del hito de desarrollo con nombre en código R. Utilice los siguientes enlaces para descargar los conjuntos de pruebas CATBox para Android 11:
Construir CATBox
Utilice el comando catbox
build una vez que el código AOSP de Android esté disponible en la estación de trabajo local.
Para construir el paquete CATBox localmente:
Seleccione el destino del dispositivo según la arquitectura del dispositivo y ejecute el siguiente comando:
lunch <target>
Para construir CATBox, ejecute el siguiente comando:
make catbox
Este comando crea el archivo
android-catbox.zip
en el directorio/out/host/linux-x86/catbox
, que luego se puede utilizar para ejecutar pruebas.
Configurar el entorno
La configuración del entorno necesaria para ejecutar las pruebas CATBox es similar a la configuración de CTS . Para configurar el entorno, complete cada una de las siguientes tareas:
Instale ADB y AAPT .
Instale JDK. Consulte Kit de desarrollo de Java para Ubuntu .
Aumentar el límite de memoria. Consulte Requisitos de almacenamiento .
Configurar y ejecutar CATBox
Utilice el marco de pruebas Tradefed para ejecutar las pruebas en dispositivos Android. Antes de configurar CATBox, consulte la descripción general de la Federación Comercial .
Para configurar y ejecutar CATBox, consulte las secciones siguientes.
Configurar el dispositivo
Antes de ejecutar un plan de prueba, complete los siguientes pasos para configurar su dispositivo:
Asegúrese de haber instalado las versiones recientes de Android Debug Bridge (adb) y de Android Asset Packaging Tool (AAPT) , y de haber agregado la ubicación de estas herramientas a la ruta del sistema de su máquina. Para obtener más información, consulte ADB y AAPT .
Conecte al menos un dispositivo y prepare el dispositivo bajo prueba (DUT) de la siguiente manera:
Para restablecer los valores de fábrica del dispositivo automotriz, vaya a Configuración > Sistema > Opciones de restablecimiento > Borrar todos los datos .
Espere a que el dispositivo se reinicie automáticamente.
Asegúrese de que adb esté habilitado. Para confirmar que el dispositivo está disponible, ejecute el siguiente comando:
adb devices
Para habilitar root, ejecute el siguiente comando:
adb -s DEVICE_SERIAL root
Reemplace
DEVICE_SERIAL
con el ID de serie del dispositivo automotriz.Conéctate a Wi-Fi.
Extraiga el paquete CATBox
Después de configurar el dispositivo, descomprima el paquete CATBox y vaya a la carpeta extraída:
unzip android-catbox.zip
cd android-catbox
Ejecutar pruebas en CATBox
Para ejecutar CATBox con los planes de prueba en el paquete CATBox:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Reemplace DEVICE_SERIAL
con el ID de serie del dispositivo automotriz. Si tiene varios dispositivos conectados a la máquina host, use DEVICE_SERIAL
para distinguirlos. Reemplace TEST_PLAN_NAME
con el nombre del plan de prueba que desea ejecutar.
Para obtener la lista más completa de planes disponibles, use la línea de comando:
./tools/catbox-tradefed list plans | grep -i catbox
Tipos de planes de prueba
La siguiente tabla muestra los planes de pruebas funcionales disponibles.
Planes de pruebas funcionales | Descripción |
---|---|
catbox-functional | Pruebas funcionales. |
catbox-functional-app-info-setting | Información de la aplicación configurando pruebas funcionales. |
catbox-functional-admin-user-grant-permissions | El usuario administrador otorga permisos para pruebas funcionales. |
catbox-functional-app-info-setting-ui-elements | Información de la aplicación configurando pruebas funcionales. |
catbox-functional-appgrid | Pruebas funcionales de la grilla de aplicaciones. |
catbox-functional-base | Lista de pruebas funcionales. |
catbox-functional-bluetooth-audio | Pruebas funcionales de audio Bluetooth. |
catbox-functional-bluetooth-palette | Pruebas funcionales de la barra de estado. |
catbox-functional-bluetooth-tests | Pruebas de Bluetooth usando Mobly. |
catbox-functional-brightness-palette | Pruebas funcionales de la barra de estado. |
catbox-functional-btmoped | Pruebas funcionales basadas en ciclomotor Bluetooth. |
catbox-functional-date-time-setting | Pruebas funcionales de configuración de fecha y hora. |
catbox-functional-dial | Marcar pruebas funcionales. |
catbox-functional-display-setting | Pruebas funcionales de configuración de pantalla. |
catbox-functional-driving-optimized-apps | Pruebas funcionales de restricción de UX. |
catbox-functional-enable-developers-option | Habilite las pruebas funcionales de la opción de desarrolladores. |
catbox-functional-home | Pruebas funcionales domiciliarias. |
catbox-functional-lock-screen | Pruebas funcionales de la pantalla de bloqueo. |
catbox-functional-mediacenter | Pruebas funcionales del Media Center. |
catbox-functional-microphone-recent-apps | Pruebas funcionales de configuración de micrófonos. |
catbox-functional-microphone-setting | Pruebas funcionales de configuración de micrófonos. |
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 notificación. |
catbox-functional-privacy-permission-manager | Pruebas funcionales de configuración de permisos de aplicaciones de privacidad. |
catbox-functional-privacy-setting | Pruebas funcionales de configuración de micrófonos. |
catbox-functional-privacy-setting-ui-elements | Pruebas funcionales de configuración de privacidad. |
catbox-functional-profile-icon | Pruebas funcionales de la barra de iconos de perfil. |
catbox-functional-profiles-icon-list | Pruebas de lista de iconos 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 | Configuración de pruebas de ubicación. |
catbox-functional-sound-setting | Pruebas funcionales de ajuste 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 configuración del sistema. |
catbox-functional-systemui | Pruebas de interfaz de usuario 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. |
La siguiente tabla enumera 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 de inicio de aplicaciones en frío para Marcador y Teléfono. |
catbox-performance-cold-app-start-up-mediacenter | Prueba de rendimiento de inicio de aplicación en frío para Media Center. |
catbox-performance-cold-app-start-up-settings | Prueba de rendimiento de inicio de aplicación en frío para la configuración. |
catbox-performance-create-and-switch-to-new-guest | Mida la latencia para cambiar a un nuevo invitado. |
catbox-performance-create-and-switch-to-new-user | Mida la latencia para cambiar a un nuevo usuario que no sea administrador. |
catbox-performance-hot-app-start-up-dialer | Prueba de rendimiento de inicio de aplicaciones activas para Marcador y Teléfono. |
catbox-performance-hot-app-start-up-mediacenter | Prueba de rendimiento de inicio de aplicación activa para Media Center. |
catbox-performance-hot-app-start-up-settings | Prueba de rendimiento de inicio de aplicación activa para Configuración. |
catbox-performance-jank-appgrid | Prueba de rendimiento para Appgrid. |
catbox-performance-jank-contact-list | Prueba de rendimiento para Contactos. |
catbox-performance-jank-media | Pruebas de rendimiento para Medios. |
catbox-performance-jank-media-switch-playback | Prueba de rendimiento para la reproducción con cambio de medios. |
catbox-performance-jank-notifications | Prueba de rendimiento para Notificaciones. |
catbox-performance-jank-settings | Prueba de rendimiento para Configuración. |
catbox-performance-switch-to-existing-user | Mida la latencia para cambiar a un usuario existente. |
Ejecute la prueba del lado del host multidispositivo
La ejecución de pruebas del lado del host multidispositivo utiliza CATBox para ejecutar la prueba 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 el apk
y luego la prueba se ejecuta en el entorno de ejecución correcto de Python.
Revisar los resultados de la prueba CATBox
Los resultados de las 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 falla | test_result_failures_suite.html |
Resultados de métricas de rendimiento | /report-log-files/CatboxPerformanceTests.reportlog.json |
Ejecuciones de pruebas funcionales y de rendimiento. | /android-catbox/logs/latest |