"Complete Automotive Tests in a Box" (CATBox) est un package Open Source fournit les frameworks et outils nécessaires pour rationaliser et exécuter avec une configuration minimale. CATBox est évolutive et compatible avec les outils, l'infrastructure et les tests que vous utilisez pour tester et valider votre infrastructure Implémentations d'Automotive OS (AAOS). Vous pouvez ainsi proposer des contenus sur la place de marché.
Conception et implémentation de CATBox
La suite de tests CATBox fournit les outils, frameworks et tests nécessaires pour exécuter des tests fonctionnels et de performances sur un appareil cible automobile ; tout en utilisant un appareil associé.
L'image suivante illustre la conception générale d'un package CATBox.
Figure 1 : Package CATBox
Axé sur le fait d'échanger
Tradefed est un framework de test continu open source utilisé pour exécuter des tests sur Appareils Android Pour en savoir plus, consultez la page Présentation de la fédération d'échange.
Framework de test pour l'automobile
CATBox est basé sur un framework de test Automotive appelé Spectatio, qui fournit des API pour les tests diverses applications sur les appareils automobiles. Elle repose sur de UI Automator, 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 sortie de le jalon de développement nom de code U. Utilisez les liens suivants pour télécharger Suites de tests CATBox pour Android 14:
Android 12
Android 12 est le lancement de la version intermédiaire majeure sous le nom de code S. Utilisez les liens suivants pour télécharger les suites de tests CATBox pour Android 12:
Android 11
Android 11 est la version du jalon de développement R. Utilisez le Liens suivants pour télécharger les suites de tests CATBox pour Android 11:
Créer une CATBox
Utilisez la commande de compilation catbox
une fois que le code Android AOSP est disponible sur le
une station de travail locale.
Pour créer le package CATBox en local:
Sélectionnez l'appareil cible en fonction de l'architecture de l'appareil, puis exécutez la 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/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 à celle Configurer CTS Pour configurer le Google Cloud, effectuez chacune des tâches suivantes:
Installez ADB et AAPT.
Installez 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 des appareils Android. Avant de commencer CATBox, consultez la présentation de la fédération de commerce.
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 des Android Debug Bridge (adb) et Android Asset Packaging Tool (AAPT), et ajouté l'emplacement de ces outils au chemin d'accès système machine. Pour en savoir plus, consultez ADB et AAPT.
Connectez au moins un appareil et préparez l'appareil testé (DUT) comme suit : ce qui 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 la commande suivante:
adb devices
Pour activer le mode root, exécutez la commande suivante:
adb -s DEVICE_SERIAL root
Remplacez
DEVICE_SERIAL
par l'ID de série du appareil automobile.Connectez-vous à un réseau Wi-Fi.
Extraire le package CATBox
Une fois le périphérique configuré, décompressez le package CATBox, puis accédez à 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, procédez comme suit:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Remplacez DEVICE_SERIAL
par l'ID de série du
appareil automobile. Si vous avez plusieurs périphériques
connectés à la machine hôte,
utiliser DEVICE_SERIAL
pour les distinguer. Remplacer
TEST_PLAN_NAME
par le nom du plan de test souhaité ;
s'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 tests fonctionnels disponibles.
Plans de test fonctionnels | Description |
---|---|
catbox-functional |
Tests fonctionnels. |
catbox-functional-app-info-setting |
Tests fonctionnels du paramètre des informations sur l'application. |
catbox-functional-admin-user-grant-permissions |
L'utilisateur administrateur accorde des tests fonctionnels sur les autorisations. |
catbox-functional-app-info-setting-ui-elements |
Tests fonctionnels du paramètre des informations sur l'application. |
catbox-functional-appgrid |
Tests du fonctionnement de la grille d'applications. |
catbox-functional-base |
Liste des tests fonctionnels. |
catbox-functional-bluetooth-audio |
Tests fonctionnels Bluetooth. |
catbox-functional-bluetooth-palette |
Tests du fonctionnement de la barre d'état. |
catbox-functional-bluetooth-tests |
Tests Bluetooth avec Mobly |
catbox-functional-brightness-palette |
Tests du fonctionnement de la barre d'état. |
catbox-functional-btmoped |
Tests fonctionnels basés sur un cyclomoteur Bluetooth. |
catbox-functional-date-time-setting |
Tests fonctionnels pour la définition de la date et de l'heure. |
catbox-functional-dial |
Effectuez des tests fonctionnels. |
catbox-functional-display-setting |
Tests fonctionnels du paramètre d'affichage. |
catbox-functional-driving-optimized-apps |
Tests fonctionnels de restriction de l'expérience utilisateur. |
catbox-functional-enable-developers-option |
Activer les tests fonctionnels de l'option pour les développeurs. |
catbox-functional-home |
Tests du fonctionnement de la maison. |
catbox-functional-lock-screen |
Tests du fonctionnement de l'écran de verrouillage. |
catbox-functional-mediacenter |
Tests fonctionnels du centre de médias. |
catbox-functional-microphone-recent-apps |
Tests du fonctionnement du réglage du micro. |
catbox-functional-microphone-setting |
Tests du fonctionnement du réglage du micro. |
catbox-functional-multiuser |
Tests fonctionnels multi-utilisateurs. |
catbox-functional-multiuser-system-user |
Tests fonctionnels multi-utilisateurs. |
catbox-functional-navigation-bar |
Tests du fonctionnement de la barre de navigation. |
catbox-functional-network-palette |
Tests du fonctionnement de la barre d'état. |
catbox-functional-network-setting |
Tests fonctionnels du paramétrage réseau. |
catbox-functional-notification |
Tests fonctionnels de notification. |
catbox-functional-privacy-permission-manager |
Tests fonctionnels du paramètre d'autorisation de l'application sur la confidentialité. |
catbox-functional-privacy-setting |
Tests du fonctionnement du réglage du micro. |
catbox-functional-privacy-setting-ui-elements |
Tests fonctionnels liés au paramètre de confidentialité. |
catbox-functional-profile-icon |
Tests fonctionnels de la barre d'icône de profil. |
catbox-functional-profiles-icon-list |
L'icône Profils liste les tests. |
catbox-functional-security-setting |
Tests fonctionnels du paramètre de sécurité. |
catbox-functional-setting |
Définir des tests fonctionnels |
catbox-functional-settings-location |
Définition des tests de localisation. |
catbox-functional-sound-setting |
Tests du fonctionnement du réglage du son. |
catbox-functional-status-bar |
Tests du fonctionnement de la barre d'état. |
catbox-functional-storage-setting |
Tests fonctionnels du paramètre de stockage. |
catbox-functional-system-setting |
Tests du fonctionnement des paramètres système. |
catbox-functional-systemui |
Tests de l'UI du système. |
catbox-functional-ux-restriction |
Tests fonctionnels de restriction de l'expérience utilisateur. |
catbox-functional-ux-restriction-facet-bar |
Tests fonctionnels de restriction de l'expérience utilisateur. |
Le tableau suivant répertorie les plans de test des performances de CATBox.
Plans de test des performances | Description |
---|---|
catbox-performance-cold-app-start-up-dialer |
Test de performance de démarrage à froid de l'application pour Téléphone et 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 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 performance au démarrage de l'application à chaud pour Téléphone et Téléphone. |
catbox-performance-hot-app-start-up-mediacenter |
Test de performances au démarrage de l'application à chaud pour Media Center |
catbox-performance-hot-app-start-up-settings |
Test de performance au démarrage de l'application à chaud pour les paramètres. |
catbox-performance-jank-appgrid |
Test de performances pour Appgrid |
catbox-performance-jank-contact-list |
Test des performances pour Contacts. |
catbox-performance-jank-media |
Tests de performances pour les médias. |
catbox-performance-jank-media-switch-playback |
Test de performances pour la lecture de Media Switch. |
catbox-performance-jank-notifications |
Test des performances pour les notifications. |
catbox-performance-jank-settings |
Test des performances des paramètres. |
catbox-performance-switch-to-existing-user |
Mesurez la latence pour passer à un utilisateur existant. |
Exécuter le test multi-appareil côté hôte
Les tests multi-appareils côté hôte utilisent 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 apk
, puis le test est exécuté dans le bon code Python
environnement d'exécution.
Examiner les résultats du test CATBox
Les résultats des tests 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 |