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 du système d'exploitation Android Automotive (AAOS). En conséquence, vous pouvez proposer des produits de haute qualité sur le marché.
Conception et mise en œuvre de 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 et lors de l'utilisation d'un appareil compagnon.
L'image suivante illustre une conception de haut niveau d'un package CATBox.
Figure 1. Package CATBox
Tradefed
Tradefed est un framework de tests continus 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 14
Android Automotive 14 est la version de l'étape de développement nommée U. Utilisez les liens suivants pour télécharger les suites de tests CATBox pour Android 14 :
Android 12
Android 12 est la version de l'étape de développement nommée S. Utilisez les liens suivants pour télécharger les suites de tests CATBox pour Android 12 :
Android 11
Android 11 est la version de l'étape de développement nommée R. Utilisez les liens suivants pour télécharger les suites de tests CATBox pour Android 11 :
Construire une 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 :
Sélectionnez la cible du périphérique en fonction de l'architecture du périphérique et exécutez la commande suivante :
lunch <target>
Pour créer CATBox, exécutez la commande suivante :
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.
Configurer 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 :
Installez ADB et AAPT .
Installez le JDK. Voir Kit de développement Java pour Ubuntu .
Augmentez la limite de mémoire. Voir Exigences de stockage .
Configurer et exécuter CATBox
Utilisez le framework de test Tradefed pour exécuter les tests sur les appareils Android. Avant de configurer CATBox, consultez la présentation de la fédération commerciale .
Pour configurer et exécuter CATBox, consultez les sections ci-dessous.
Configurer l'appareil
Avant d'exécuter un plan de test, procédez comme suit pour configurer votre appareil :
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 ordinateur. Pour plus de détails, voir ADB et AAPT .
Connectez au moins un appareil et préparez le périphérique testé (DUT) comme suit :
Pour réinitialiser l'appareil automobile aux paramètres d'usine, accédez à Paramètres > Système > Options de réinitialisation > Effacer toutes les données .
Attendez que l'appareil redémarre automatiquement.
Assurez-vous que adb est activé. Pour confirmer que l'appareil est disponible, exécutez la commande suivante :
adb devices
Pour activer root, exécutez la commande suivante :
adb -s DEVICE_SERIAL root
Remplacez
DEVICE_SERIAL
par l'ID de série du périphérique automobile.Connectez-vous au Wi-Fi.
Extraire le package CATBox
Après avoir configuré l'appareil, décompressez le package CATBox et accédez au dossier extrait :
unzip android-catbox.zip
cd android-catbox
Exécuter des tests dans CATBox
Pour exécuter CATBox avec les plans de test du package CATBox :
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Remplacez DEVICE_SERIAL
par l'ID de série du périphérique automobile. Si plusieurs appareils sont 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 la liste la plus complète des forfaits disponibles, utilisez la ligne de commande :
./tools/catbox-tradefed list plans | grep -i catbox
Types de plans de test
Le tableau suivant affiche les plans de tests fonctionnels disponibles.
Plans de tests fonctionnels | Description |
---|---|
catbox-functional | Tests fonctionnels. |
catbox-functional-app-info-setting | Tests fonctionnels de configuration des informations sur l'application. |
catbox-functional-admin-user-grant-permissions | L'utilisateur administrateur accorde des tests fonctionnels d'autorisations. |
catbox-functional-app-info-setting-ui-elements | Tests fonctionnels de configuration des informations sur l'application. |
catbox-functional-appgrid | Tests fonctionnels de la grille d'applications. |
catbox-functional-base | Liste des tests fonctionnels. |
catbox-functional-bluetooth-audio | Tests fonctionnels audio Bluetooth. |
catbox-functional-bluetooth-palette | Tests fonctionnels de la barre d'état. |
catbox-functional-bluetooth-tests | Tests Bluetooth avec Mobly. |
catbox-functional-brightness-palette | Tests fonctionnels de la barre d'état. |
catbox-functional-btmoped | Tests fonctionnels basés sur Bluetooth Cyclomoteur. |
catbox-functional-date-time-setting | Tests fonctionnels de réglage de la date et de l’heure. |
catbox-functional-dial | Tests fonctionnels du cadran. |
catbox-functional-display-setting | Tests fonctionnels du paramétrage de l'affichage. |
catbox-functional-driving-optimized-apps | Tests fonctionnels de restriction UX. |
catbox-functional-enable-developers-option | Activer les tests fonctionnels de l’option développeurs. |
catbox-functional-home | Tests fonctionnels à domicile. |
catbox-functional-lock-screen | Tests fonctionnels de l'écran de verrouillage. |
catbox-functional-mediacenter | Tests fonctionnels Media Center. |
catbox-functional-microphone-recent-apps | Tests fonctionnels de réglage du microphone. |
catbox-functional-microphone-setting | Tests fonctionnels de réglage du microphone. |
catbox-functional-multiuser | Tests fonctionnels multi-utilisateurs. |
catbox-functional-multiuser-system-user | Tests fonctionnels multi-utilisateurs. |
catbox-functional-navigation-bar | Tests fonctionnels de la barre de navigation. |
catbox-functional-network-palette | Tests fonctionnels de la barre d'état. |
catbox-functional-network-setting | Tests fonctionnels de configuration du réseau. |
catbox-functional-notification | Tests fonctionnels de notifications. |
catbox-functional-privacy-permission-manager | Tests fonctionnels de configuration des autorisations de l'application de confidentialité. |
catbox-functional-privacy-setting | Tests fonctionnels de réglage du microphone. |
catbox-functional-privacy-setting-ui-elements | Tests fonctionnels des paramètres de confidentialité. |
catbox-functional-profile-icon | Tests fonctionnels de la barre d'icônes de profil. |
catbox-functional-profiles-icon-list | Tests de liste d’icônes de profils. |
catbox-functional-security-setting | Tests fonctionnels des paramètres de sécurité. |
catbox-functional-setting | Mise en place de tests fonctionnels. |
catbox-functional-settings-location | Mise en situation des tests. |
catbox-functional-sound-setting | Tests fonctionnels de réglage sonore. |
catbox-functional-status-bar | Tests fonctionnels de la barre d'état. |
catbox-functional-storage-setting | Tests fonctionnels des paramètres de stockage. |
catbox-functional-system-setting | Tests fonctionnels de paramétrage du système. |
catbox-functional-systemui | Tests de l'interface utilisateur du système. |
catbox-functional-ux-restriction | Tests fonctionnels de restriction UX. |
catbox-functional-ux-restriction-facet-bar | Tests fonctionnels de restriction UX. |
Le tableau suivant répertorie les plans de test de performances CATBox.
Plans de tests de performances | Description |
---|---|
catbox-performance-cold-app-start-up-dialer | Test de performances de démarrage d'application à froid pour Dialer et Phone. |
catbox-performance-cold-app-start-up-mediacenter | Test de performances de démarrage d'application à froid pour Media Center. |
catbox-performance-cold-app-start-up-settings | Test de performances de démarrage d'application à froid pour les paramètres. |
catbox-performance-create-and-switch-to-new-guest | Mesurez la latence pour passer à un nouvel invité. |
catbox-performance-create-and-switch-to-new-user | Mesurez la latence pour passer à un nouvel utilisateur non-administrateur. |
catbox-performance-hot-app-start-up-dialer | Test de performances de démarrage d'application à chaud pour Dialer et Phone. |
catbox-performance-hot-app-start-up-mediacenter | Test de performances de démarrage d'application à chaud pour Media Center. |
catbox-performance-hot-app-start-up-settings | Test de performances de démarrage d'application à chaud pour les paramètres. |
catbox-performance-jank-appgrid | Test de performances pour Appgrid. |
catbox-performance-jank-contact-list | Test de performances pour les contacts. |
catbox-performance-jank-media | Tests de performances pour les médias. |
catbox-performance-jank-media-switch-playback | Test de performances pour la lecture par commutateur multimédia. |
catbox-performance-jank-notifications | Test de performances pour les notifications. |
catbox-performance-jank-settings | Test de performances pour les paramètres. |
catbox-performance-switch-to-existing-user | Mesurez la latence pour passer à un utilisateur existant. |
Exécutez le test côté hôte multi-périphériques
L'exécution de tests côté hôte multi-périphériques utilise CATBox pour exécuter le test en une seule session. Par exemple, 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 installe l' apk
, puis le test est exécuté dans le bon environnement d'exécution Python.
Examiner les résultats des tests CATBox
Les résultats des tests fonctionnels et de performances sont enregistrés dans android-catbox/results/latest
.
Type de résultat | Emplacement |
---|---|
Résultats de test | test_result.xml |
Détails des tests d'échec | test_result_failures_suite.html |
Résultats des mesures de performances | /report-log-files/CatboxPerformanceTests.reportlog.json |
Exécutions de tests fonctionnels et de performances | /android-catbox/logs/latest |