Complete Automotive Tests in a Box (CATBox) est un package Open Source qui fournit les frameworks et les outils nécessaires pour simplifier 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 de l'AAOS (Android Automotive OS). Vous pouvez ainsi proposer des produits de haute qualité sur la place de marché.
Conception et implémentation de CATBox
La suite de tests CATBox fournit les outils, les frameworks 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 test continu Open Source utilisé pour exécuter des tests sur des appareils Android. Pour en savoir plus, consultez la section Présentation de la fédération de commerce.
Framework de test pour l'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 basé sur UI Automator, un framework de test Open Source qui fournit un ensemble d'API permettant de 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 du jalon de développement portant le nom de code U. Utilisez les liens suivants pour télécharger les suites de test CATBox pour Android 14:
Android 12
Android 12 est la version du jalon de développement portant le nom de code S. Utilisez les liens suivants pour télécharger les suites de test CATBox pour Android 12:
Android 11
Android 11 est la version du jalon de développement portant le nom de code R. Utilisez les liens suivants pour télécharger les suites de test CATBox pour Android 11:
Créer CATBox
Utilisez la commande de compilation catbox
une fois que le code AOSP Android est disponible sur la station de travail locale.
Pour créer le package CATBox en local:
Sélectionnez la cible d'appareil en fonction de l'architecture de l'appareil, puis exécutez la commande suivante:
lunch <target>
Pour compiler 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 semblable à la configuration de CTS. Pour configurer l'environnement, procédez comme suit:
Installez ADB et AAPT.
Installez le JDK. Consultez la page Kit de développement Java pour Ubuntu.
Augmentez la limite de mémoire. Consultez les exigences de stockage.
Configurer et exécuter CATBox
Utilisez le framework de test Tradefed pour exécuter les tests sur des appareils Android. Avant de configurer CATBox, consultez la présentation de la Trade Federation.
Pour configurer et exécuter CATBox, consultez les sections ci-dessous.
Configurer l'appareil
Avant d'exécuter un plan de test, configurez votre appareil en procédant comme suit:
Assurez-vous d'avoir installé les versions récentes d'Android Debug Bridge (adb) et d'Android Asset Packaging Tool (AAPT), et d'avoir ajouté l'emplacement de ces outils au chemin d'accès système de votre machine. Pour en savoir plus, consultez ADB et AAPT.
Connectez au moins un appareil et préparez l'appareil testé comme suit:
Pour rétablir la configuration d'usine de l'appareil automobile, accédez à Paramètres > Système > Options de réinitialisation > Effacer toutes les données.
Attendez que l'appareil redémarre automatiquement.
Assurez-vous qu'adb est activé. Pour vérifier que l'appareil est disponible, exécutez la commande suivante:
adb devices
Pour activer l'utilisateur racine, exécutez la commande suivante:
adb -s DEVICE_SERIAL root
Remplacez
DEVICE_SERIAL
par l'ID de série de l'appareil automobile.Connectez-vous à un réseau 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 de l'appareil 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 présente les plans de test fonctionnels disponibles.
Plans de test fonctionnel | Description |
---|---|
catbox-functional |
Tests fonctionnels. |
catbox-functional-app-info-setting |
Tests fonctionnels du paramètre d'informations sur l'application |
catbox-functional-admin-user-grant-permissions |
Tests fonctionnels des autorisations d'attribution d'autorisations à un utilisateur administrateur |
catbox-functional-app-info-setting-ui-elements |
Tests fonctionnels du paramètre d'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 de l'audio Bluetooth |
catbox-functional-bluetooth-palette |
Tests fonctionnels de la barre d'état |
catbox-functional-bluetooth-tests |
Tests Bluetooth à l'aide de Mobly |
catbox-functional-brightness-palette |
Tests fonctionnels de la barre d'état |
catbox-functional-btmoped |
Tests fonctionnels basés sur le Bluetooth Moped. |
catbox-functional-date-time-setting |
Tests fonctionnels des paramètres de date et d'heure |
catbox-functional-dial |
Tests fonctionnels de la numérotation. |
catbox-functional-display-setting |
Tests fonctionnels des paramètres d'affichage. |
catbox-functional-driving-optimized-apps |
Tests fonctionnels des restrictions d'expérience utilisateur |
catbox-functional-enable-developers-option |
Activez les tests fonctionnels des options pour les développeurs. |
catbox-functional-home |
Tests fonctionnels de la maison |
catbox-functional-lock-screen |
Tests fonctionnels de l'écran de verrouillage. |
catbox-functional-mediacenter |
Tests fonctionnels de Media Center |
catbox-functional-microphone-recent-apps |
Tests fonctionnels des paramètres du micro |
catbox-functional-microphone-setting |
Tests fonctionnels des paramètres du micro |
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 des paramètres réseau. |
catbox-functional-notification |
Tests fonctionnels des notifications |
catbox-functional-privacy-permission-manager |
Tests fonctionnels des paramètres d'autorisation d'application de confidentialité |
catbox-functional-privacy-setting |
Tests fonctionnels des paramètres du micro |
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 la liste de l'icône de profil. |
catbox-functional-security-setting |
Tests fonctionnels des paramètres de sécurité |
catbox-functional-setting |
Configuration des tests fonctionnels. |
catbox-functional-settings-location |
Tests de la configuration de la localisation. |
catbox-functional-sound-setting |
Tests fonctionnels des paramètres audio. |
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 des paramètres système |
catbox-functional-systemui |
Tests de l'interface utilisateur du système. |
catbox-functional-ux-restriction |
Tests fonctionnels des restrictions d'expérience utilisateur |
catbox-functional-ux-restriction-facet-bar |
Tests fonctionnels des restrictions d'expérience utilisateur |
Le tableau suivant répertorie les plans de test de performances de CATBox.
Plans de test de performances | Description |
---|---|
catbox-performance-cold-app-start-up-dialer |
Test des performances de démarrage à froid de l'application pour le Téléphone et le Téléphone. |
catbox-performance-cold-app-start-up-mediacenter |
Test des performances de démarrage à froid de l'application pour Media Center. |
catbox-performance-cold-app-start-up-settings |
Test des performances de démarrage à froid de l'application pour les paramètres. |
catbox-performance-create-and-switch-to-new-guest |
Mesurez la latence pour passer à un nouvel utilisateur. |
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 des performances de démarrage à chaud de l'application pour le Téléphone et le Téléphone. |
catbox-performance-hot-app-start-up-mediacenter |
Test des performances de démarrage de l'application en mode "hot" pour Media Center. |
catbox-performance-hot-app-start-up-settings |
Test des performances de démarrage de l'application pour les paramètres. |
catbox-performance-jank-appgrid |
Test de performances pour Appgrid. |
catbox-performance-jank-contact-list |
Test de performances pour Contacts. |
catbox-performance-jank-media |
Tests de performances pour Media |
catbox-performance-jank-media-switch-playback |
Test des performances pour la lecture de contenus multimédias. |
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écuter le test côté hôte multi-appareil
L'exécution des tests côté hôte multi-appareils 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 le apk
, puis le test est exécuté dans l'environnement d'exécution Python approprié.
Examiner les résultats du test CATBox
Les résultats des cycles de test fonctionnels et de performances sont enregistrés dans android-catbox/results/latest
.
Type de résultat | Position |
---|---|
Résultats des tests | test_result.xml |
Détails des tests d'échec | test_result_failures_suite.html |
Résultats des métriques de performances | /report-log-files/CatboxPerformanceTests.reportlog.json |
Exécutions de tests fonctionnels et de performances | /android-catbox/logs/latest |