Pruebas automotrices completas en una caja

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.

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:

  1. Seleccione Device Target y ejecute el siguiente comando:

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. 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:

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:

  1. 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 .

  2. Conecte al menos un dispositivo y prepare el dispositivo bajo prueba (DUT) de la siguiente manera:

    1. Para restablecer de fábrica el dispositivo automotriz, haga clic en Configuración > Sistema > Opciones de restablecimiento > Borrar todos los datos .
    2. Espere a que el dispositivo se reinicie automáticamente.
    3. Asegúrese de que adb esté habilitado. Para confirmar que el dispositivo está disponible, ejecute el siguiente comando:

      $ adb devices
      
    4. 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.

    5. 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 directorio report-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:

  1. Conecte el dispositivo móvil a la unidad principal automotriz a través de Bluetooth.
  2. 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.
  3. 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.
  4. 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:

  1. 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.
  2. Empareje el teléfono manualmente con el dispositivo automotriz a través de Bluetooth.
  3. 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:

  1. 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.
  2. Empareje el teléfono manualmente con el dispositivo automotriz a través de Bluetooth.
  3. Una vez que el teléfono está emparejado, se puede acceder a los contactos en el dispositivo.