Complete Automotive Tests in a Box (CATBox) es un paquete de código abierto que proporciona los marcos y las 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 de Android Automotive OS (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.
La siguiente imagen ilustra un diseño de alto nivel de un paquete CATBox.
Figura 1. Paquete CATBox
comerciado
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 prueba automotriz
CATBox se basa en un marco de prueba automotriz 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 12
Android 12 es el lanzamiento del hito de desarrollo con nombre en código S. Use los siguientes enlaces para descargar las suites de prueba CATBox para Android 12:
androide 11
Android 11 es el lanzamiento del hito de desarrollo cuyo nombre en código es R. Use los siguientes enlaces para descargar las suites de prueba CATBox para Android 11:
Construir CATBox
Use el comando de compilación catbox
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 Device Target y ejecute el siguiente comando:
# Select Device Target Based on Device Architecture $ lunch <target>
Para compilar CATBox, ejecute el siguiente comando:
# Build CATBox $ make catbox
Este comando crea el archivo
android-catbox.zip
en el directorio/out/host/linux-x86/catbox
, que luego se puede usar para ejecutar pruebas.
Configuración del entorno
La configuración del entorno requerida para ejecutar las pruebas de CATBox es similar a la configuración de CTS . Para configurar el entorno, complete cada una de las siguientes tareas:
- Instale ADB y AAPT .
- Instalar JDK. Consulte Kit de desarrollo de Java para Ubuntu.
- Aumenta el límite de memoria. Consulte Requisitos de almacenamiento .
Configuración y ejecución de CATBox
Utilice el marco de pruebas de Tradefed para ejecutar las pruebas en dispositivos Android. Antes de configurar CATBox, familiarícese con la descripción general de Trade Federation .
Para configurar y ejecutar CATBox, consulte las secciones a continuación.
Configuración de 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 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 de fábrica el dispositivo automotriz, haga clic en 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 la raíz, ejecute el siguiente comando:
# Enable Root $ adb -s DEVICE_SERIAL root
Reemplace
DEVICE_SERIAL
con la ID de serie del dispositivo automotriz.Conéctese a Wi-Fi.
Extraiga el paquete CATBox
Después de completar la configuración del dispositivo, descomprima el paquete CATBox y vaya a la carpeta extraída:
# Extract the CATBox Package
$ unzip android-catbox.zip
# Navigate to extracted CATBox Package
$ cd android-catbox
Ejecutar pruebas en el CATBox
Para ejecutar CATBox con los planes de prueba en el paquete CATBox, ejecute lo siguiente:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Reemplace DEVICE_SERIAL
con la 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 una lista completa de los planes de prueba disponibles, ejecute lo siguiente:
./tools/catbox-tradefed list plans | grep -i catbox
La siguiente tabla muestra los planes de prueba disponibles por tipo:
tipo de prueba | Nombre |
---|---|
planes de pruebas funcionales | catbox-functional-notification catbox-functional-setting catbox-functional-dial catbox-functional-system-setting catbox-functional-app-info-setting catbox-functional-network-setting catbox-functional-security-setting catbox-functional-sound-setting catbox-functional-date-time-setting catbox-functional-appgrid catbox-functional-home catbox-functional-lock-screen catbox-functional-navigation-bar catbox-functional-ux-restriction catbox-functional-bluetooth-audio |
Planes de prueba de rendimiento | catbox-performance-cold-app-start-up-settings catbox-performance-hot-app-start-up-settings catbox-performance-jank-settings catbox-performance-cold-app-start-up-dialer catbox-performance-hot-app-start-up-dialer catbox-performance-jank-contact-list catbox-performance-jank-notifications catbox-performance-jank-appgrid catbox-performance-cold-app-start-up-mediacenter catbox-performance-hot-app-start-up-mediacenter catbox-performance-create-and-switch-to-new-guest catbox-performance-create-and-switch-to-new-user catbox-performance-create-and-switch-to-precreated-guest catbox-performance-create-and-switch-to-precreated-user catbox-performance-switch-to-existing-user |
Resultados de la prueba CATBox
Los resultados de las pruebas se guardan en la carpeta android-catbox/results/latest
para ejecuciones de pruebas funcionales y de rendimiento.
- Para ver los resultados de la prueba, consulte
test_result.xml
. - Para obtener detalles sobre las pruebas de fallas, consulte
test_result_failures_suite.html
. - Para ver los resultados de las métricas de rendimiento, consulte
CatboxPerformanceTests.reportlog.json
en el directorioreport-log-files
.
Los registros se guardan en la ruta android-catbox/logs/latest
para ejecuciones de pruebas funcionales y de rendimiento.
Algunas pruebas, como Dial, Audio Bluetooth y Lista de contactos, requieren una configuración adicional del dispositivo.
Prueba de marcado
La prueba Dial requiere la configuración del dispositivo y los parámetros de tiempo de ejecución. Para configurar el dispositivo:
- Conecte el dispositivo móvil a la unidad principal automotriz a través de Bluetooth.
- Asegúrese de que el teléfono de prueba contenga una tarjeta SIM para ejecutar pruebas de marcación y esté conectado a la red móvil.
- Las pruebas de marcación utilizan los contactos predeterminados almacenados en el teléfono. Use el archivo de contactos.vcf para cargar contactos en el teléfono.
Reemplace
COMPANION_SERIAL
con la ID de serie del teléfono y ejecute los siguientes comandos:# Contacts can be loaded on the phone by pushing the contacts.vcf file on the phone and importing it in the Contacts application. OR # Importing contacts using adb. # Push contacts VCF file to phone $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf # Grant Read Permissions $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts android.permission.READ_EXTERNAL_STORAGE # Import contacts from the VCF file $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf -a android.intent.action.VIEW com.google.android.contacts # Then accept the prompts on the UI to load the contacts.
Parámetros de tiempo de ejecución
Las pruebas de marcación utilizan números de teléfono pequeños y grandes para la ejecución de la prueba. Las pruebas de marcación también utilizan el nombre y el número de contacto para las pruebas de búsqueda. Utilice los siguientes parámetros para proporcionar esta información:
Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>
Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>
Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >
Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >
Prueba de audio Bluetooth
Para configurar un dispositivo para la prueba de audio Bluetooth:
- Asegúrate de que la aplicación YouTube Music esté instalada en el teléfono y de que hayas iniciado sesión en una cuenta. De lo contrario, instale la aplicación e inicie sesión en una cuenta.
- Empareje el teléfono manualmente con el dispositivo automotriz a través de Bluetooth.
- Una vez que el teléfono esté emparejado, reproduzca una canción en el teléfono y luego comience a ejecutar la prueba.
Prueba de bloqueo de la lista de contactos
Para configurar un dispositivo para la prueba de bloqueo de la lista de contactos:
- Asegúrese de que el teléfono tenga varios contactos para que la prueba pueda desplazarse por la lista de contactos para recopilar métricas de bloqueo.
- Empareje el teléfono manualmente con el dispositivo automotriz a través de Bluetooth.
- Una vez que el teléfono está emparejado, se puede acceder a los contactos en el dispositivo.