Tests automobiles complets dans une boîte

Complete Automotive Tests in a Box (CATBox) est un package open source qui fournit les cadres et les outils nécessaires pour rationaliser et exécuter des tests automobiles avec une configuration minimale. CATBox est évolutif et compatible avec les outils, l'infrastructure et les tests que vous utilisez pour tester et valider vos implémentations Android Automotive OS (AAOS). En conséquence, vous pouvez fournir des produits de haute qualité sur le marché.

Conception et mise en œuvre de la CATBox

La suite de tests CATBox fournit les outils, les cadres et les tests nécessaires pour exécuter des tests fonctionnels et de performances sur un appareil cible automobile.

L'image suivante illustre une conception de haut niveau d'un package CATBox.

CATBox

Figure 1. Paquet CATBox

Tradefed

Tradefed est un framework de test continu open source utilisé pour exécuter des tests sur des appareils Android. Pour plus de détails, voir Présentation de la fédération commerciale .

Cadre de test automobile

CATBox est basé sur un framework de test automobile appelé Spectatio, qui fournit des API pour tester diverses applications sur des appareils automobiles. Il est construit sur UI Automator , un framework de test open source, qui fournit un ensemble d'API pour créer des tests d'interface utilisateur qui interagissent avec les applications utilisateur et système.

Téléchargements de la suite de tests CATBox

Android 12

Android 12 est la sortie du jalon de développement nommé S. Utilisez les liens suivants pour télécharger les suites de tests CATBox pour Android 12 :

Android 11

Android 11 est la sortie du jalon de développement nommé R. Utilisez les liens suivants pour télécharger les suites de tests CATBox pour Android 11 :

Construire CATBox

Utilisez la commande catbox build une fois que le code Android AOSP est disponible sur le poste de travail local. Pour créer le package CATBox localement :

  1. Sélectionnez Device Target et exécutez la commande suivante :

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. Pour créer CATBox, exécutez la commande suivante :

    # Build CATBox
    $ make catbox
    

    Cette commande crée le fichier android-catbox.zip dans le répertoire /out/host/linux-x86/catbox , qui peut ensuite être utilisé pour exécuter des tests.

Configuration de l'environnement

La configuration de l'environnement requise pour exécuter les tests CATBox est similaire à la configuration de CTS . Pour configurer l'environnement, effectuez chacune des tâches suivantes :

Configuration et exécution de CATBox

Utilisez le framework de test Tradefed pour exécuter les tests sur les appareils Android. Avant la configuration de CATBox, familiarisez-vous avec l'aperçu de la fédération commerciale .

Pour configurer et exécuter CATBox, consultez les sections ci-dessous.

Configuration de l'appareil

Avant d'exécuter un plan de test, procédez comme suit pour configurer votre appareil :

  1. Assurez-vous d'avoir installé les versions récentes d' Android Debug Bridge (adb) et d' Android Asset Packaging Tool (AAPT) , ainsi que d'avoir ajouté l'emplacement de ces outils au chemin système de votre machine. Pour plus de détails, voir ADB et AAPT .

  2. Connectez au moins un appareil et préparez l'appareil sous test (DUT) comme suit :

    1. Pour réinitialiser l'appareil automobile en usine, cliquez sur Paramètres > Système > Options de réinitialisation > Effacer toutes les données .
    2. Attendez que l'appareil redémarre automatiquement.
    3. Assurez-vous que adb est activé. Pour confirmer que l'appareil est disponible, exécutez la commande suivante :

      $ adb devices
      
    4. Pour activer root, exécutez la commande suivante :

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

      Remplacez DEVICE_SERIAL par l'ID de série de l'appareil automobile.

    5. Connectez-vous au Wi-Fi.

Extraire le package CATBox

Une fois la configuration de l'appareil terminée, décompressez le package CATBox et accédez au dossier extrait :

# Extract the CATBox Package
$ unzip android-catbox.zip

# Navigate to extracted CATBox Package
$ cd android-catbox

Exécuter des tests dans la CATBox

Pour exécuter CATBox avec les plans de test dans le package CATBox, exécutez ce qui suit :

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

Remplacez DEVICE_SERIAL par l'ID de série de l'appareil automobile. Si vous avez plusieurs périphériques connectés à la machine hôte, utilisez DEVICE_SERIAL pour les distinguer. Remplacez TEST_PLAN_NAME par le nom du plan de test que vous souhaitez exécuter.

Pour obtenir une liste complète des plans de test disponibles, exécutez ce qui suit :

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

Le tableau suivant affiche les plans de test disponibles par type :

Type d'essai Nom
Plans de tests fonctionnels 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
Plans de tests de performances 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

Résultats des tests CATBox

Les résultats des tests sont enregistrés dans le dossier android-catbox/results/latest pour les exécutions de tests fonctionnels et de performances.

  • Pour les résultats des tests, reportez-vous à test_result.xml .
  • Pour plus de détails sur les tests d'échec, voir test_result_failures_suite.html .
  • Pour les résultats des métriques de performances, consultez CatboxPerformanceTests.reportlog.json dans le répertoire report-log-files .

Les journaux sont enregistrés dans le chemin android-catbox/logs/latest pour les exécutions de tests fonctionnels et de performances.

Certains tests tels que les tests de numérotation, audio Bluetooth et liste de contacts nécessitent une configuration supplémentaire de l'appareil.

Essai au cadran

Le test Dial nécessite la configuration de l'appareil et les paramètres d'exécution. Pour configurer l'appareil :

  1. Connectez l'appareil mobile à l'unité principale automobile via Bluetooth.
  2. Assurez-vous que le téléphone de test contient une carte SIM pour exécuter des tests de numérotation et qu'il est connecté au réseau mobile.
  3. Les tests de numérotation utilisent les contacts par défaut stockés sur le téléphone. Utilisez contacts.vcf pour charger les contacts sur le téléphone.
  4. Remplacez COMPANION_SERIAL par l'ID de série du téléphone et exécutez les commandes suivantes :

    # 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.
    
Paramètres d'exécution

Les tests de numérotation utilisent des numéros de téléphone petits et grands pour l'exécution des tests. Les tests de numérotation utilisent également le nom et le numéro de contact pour les tests de recherche. Utilisez les paramètres suivants pour fournir ces informations :

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 >

Test audio Bluetooth

Pour configurer un appareil pour le test audio Bluetooth :

  1. Assurez-vous que l'application YouTube Music est installée sur le téléphone et que vous êtes connecté à un compte. Sinon, installez l'application et connectez-vous à un compte.
  2. Associez manuellement le téléphone à l'appareil automobile via Bluetooth.
  3. Une fois le téléphone couplé, écoutez une chanson sur le téléphone, puis commencez à exécuter le test.

Liste de contacts jank test

Pour configurer un appareil pour le test indésirable de la liste de contacts :

  1. Assurez-vous que le téléphone a plusieurs contacts afin que le test puisse faire défiler la liste des contacts pour collecter des mesures indésirables.
  2. Associez manuellement le téléphone à l'appareil automobile via Bluetooth.
  3. Une fois le téléphone couplé, les contacts sont accessibles sur l'appareil.