Complete Automotive Tests in a Box (CATBox) ist ein Open-Source-Paket, das die Frameworks und Tools zur Optimierung und Ausführung von Tests für die Automobilbranche mit minimaler Konfiguration bereitstellt. CATBox ist skalierbar und kompatibel mit den Tools, der Infrastruktur und den Tests, die Sie zum Testen und Validieren Ihrer AAOS-Implementierungen (Android Automotive OS) verwenden. So können Sie dem Marktplatz hochwertige Produkte anbieten.
CATBox-Design und -Implementierung
Die CATBox-Testsuite bietet die Tools, Frameworks und Tests, die für die Durchführung von Funktions- und Leistungstests auf einem Zielgerät aus der Automobilbranche und unter Verwendung eines Companion-Geräts erforderlich sind.
Das folgende Bild zeigt ein allgemeines Design eines CATBox-Pakets.
Abbildung 1. CATBox-Paket
Tradefed
Tradefed ist ein Open-Source-Framework für kontinuierliche Tests, mit dem Tests auf Android-Geräten ausgeführt werden. Weitere Informationen finden Sie unter Trade Federation – Übersicht.
Testframework für die Automobilbranche
CATBox basiert auf einem Automotive-Testframework namens Spectatio, das APIs zum Testen verschiedener Apps auf Automotive-Geräten bereitstellt. Es basiert auf UI Automator, einem Open-Source-Test-Framework, das eine Reihe von APIs zum Erstellen von UI-Tests bietet, die mit Nutzer- und Systemanwendungen interagieren.
Downloads der CATBox-Testsuite
Android 14
Android Automotive 14 ist die Version des Entwicklungsmeilensteins mit dem Codenamen „U“. Über die folgenden Links können Sie CATBox-Testsuites für Android 14 herunterladen:
Android 12
Android 12 ist die Version des Entwicklungsmeilensteins mit dem Codenamen „S“. Über die folgenden Links können Sie CATBox-Testsuites für Android 12 herunterladen:
Android 11
Android 11 ist die Version des Entwicklungsmeilensteins mit dem Codenamen „R“. Über die folgenden Links können Sie CATBox-Testsuites für Android 11 herunterladen:
CATBox erstellen
Verwenden Sie den Build-Befehl catbox
, sobald der Android-AOSP-Code auf der lokalen Workstation verfügbar ist.
So erstellen Sie das CATBox-Paket lokal:
Wählen Sie das Geräteziel basierend auf der Gerätearchitektur aus und führen Sie den folgenden Befehl aus:
lunch <target>
Führen Sie zum Erstellen von CATBox den folgenden Befehl aus:
make catbox
Mit diesem Befehl wird die Datei
android-catbox.zip
im Verzeichnis/out/host/linux-x86/catbox
erstellt, die dann zum Ausführen von Tests verwendet werden kann.
Umgebung einrichten
Die Einrichtung der Umgebung, die zum Ausführen von CATBox-Tests erforderlich ist, ähnelt der Einrichtung der CTS. Führen Sie die folgenden Aufgaben aus, um die Umgebung einzurichten:
Installieren Sie ADB und AAPT.
Installieren Sie das JDK. Weitere Informationen finden Sie unter Java Development Kit für Ubuntu.
Erhöhen Sie das Speicherlimit. Weitere Informationen zu den Speicheranforderungen
CATBox einrichten und ausführen
Verwenden Sie das Tradefed-Test-Framework, um die Tests auf Android-Geräten auszuführen. Lesen Sie vor der Einrichtung von CATBox die Trade Federation-Übersicht.
Informationen zum Einrichten und Ausführen von CATBox finden Sie in den folgenden Abschnitten.
Gerät einrichten
Bevor Sie einen Testplan ausführen, müssen Sie Ihr Gerät so einrichten:
Sie müssen die neuesten Versionen von Android Debug Bridge (adb) und Android Asset Packaging Tool (AAPT) installiert haben und den Speicherort dieser Tools dem Systempfad Ihres Computers hinzugefügt haben. Weitere Informationen finden Sie unter ADB und AAPT.
Schließen Sie mindestens ein Gerät an und bereiten Sie das Testgerät (Device Under Test, DUT) so vor:
Wenn Sie das Autogerät auf die Werkseinstellungen zurücksetzen möchten, gehen Sie zu Einstellungen > System > Optionen zum Zurücksetzen > Alle Daten löschen.
Warten Sie, bis das Gerät automatisch neu gestartet wird.
Prüfen Sie, ob ADB aktiviert ist. Führen Sie den folgenden Befehl aus, um zu prüfen, ob das Gerät verfügbar ist:
adb devices
Führen Sie den folgenden Befehl aus, um den Root-Benutzer zu aktivieren:
adb -s DEVICE_SERIAL root
Ersetzen Sie
DEVICE_SERIAL
durch die Seriennummer des Auto-Geräts.Stellen Sie eine Verbindung zum WLAN her.
CATBox-Paket extrahieren
Entpacken Sie nach der Einrichtung des Geräts das CATBox-Paket und rufen Sie den extrahierten Ordner auf:
unzip android-catbox.zip
cd android-catbox
Tests in CATBox ausführen
So führen Sie CATBox mit den Testplänen im CATBox-Paket aus:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Ersetzen Sie DEVICE_SERIAL
durch die Seriennummer des Auto-Geräts. Wenn mehrere Geräte mit dem Hostcomputer verbunden sind, verwenden Sie DEVICE_SERIAL
, um sie voneinander zu unterscheiden. Ersetzen Sie TEST_PLAN_NAME
durch den Namen des Testplans, den Sie ausführen möchten.
Die vollständigste Liste der verfügbaren Tarife erhalten Sie über die Befehlszeile:
./tools/catbox-tradefed list plans | grep -i catbox
Arten von Testplänen
In der folgenden Tabelle sind die verfügbaren funktionalen Testpläne aufgeführt.
Funktionstestpläne | Beschreibung |
---|---|
catbox-functional |
Funktionstests |
catbox-functional-app-info-setting |
Funktionstests für die Einstellung „App-Informationen“ |
catbox-functional-admin-user-grant-permissions |
Funktionstests für die Berechtigungsverwaltung durch Administratoren |
catbox-functional-app-info-setting-ui-elements |
Funktionstests für die Einstellung „App-Informationen“ |
catbox-functional-appgrid |
Funktionstests für App-Raster |
catbox-functional-base |
Liste der Funktionstests. |
catbox-functional-bluetooth-audio |
Funktionstests für Bluetooth-Audio |
catbox-functional-bluetooth-palette |
Funktionstests der Statusleiste |
catbox-functional-bluetooth-tests |
Bluetooth-Tests mit Mobly |
catbox-functional-brightness-palette |
Funktionstests der Statusleiste |
catbox-functional-btmoped |
Bluetooth-Moped-basierte Funktionstests |
catbox-functional-date-time-setting |
Funktionstests für Datums- und Uhrzeiteinstellungen |
catbox-functional-dial |
Funktionstests für die Anruffunktion |
catbox-functional-display-setting |
Funktionstests für Displayeinstellungen |
catbox-functional-driving-optimized-apps |
Funktionstests für UX-Einschränkungen |
catbox-functional-enable-developers-option |
Aktivieren Sie die Funktionstests für die Entwickleroptionen. |
catbox-functional-home |
Funktionstests für Smart Home |
catbox-functional-lock-screen |
Funktionstests für den Sperrbildschirm |
catbox-functional-mediacenter |
Funktionstests für Media Center |
catbox-functional-microphone-recent-apps |
Funktionstests der Mikrofoneinstellungen |
catbox-functional-microphone-setting |
Funktionstests der Mikrofoneinstellungen |
catbox-functional-multiuser |
Funktionstests für mehrere Nutzer |
catbox-functional-multiuser-system-user |
Funktionstests für mehrere Nutzer |
catbox-functional-navigation-bar |
Funktionstests der Navigationsleiste |
catbox-functional-network-palette |
Funktionstests der Statusleiste |
catbox-functional-network-setting |
Funktionstests für Netzwerkeinstellungen |
catbox-functional-notification |
Funktionstests für Benachrichtigungen |
catbox-functional-privacy-permission-manager |
Funktionstests für Datenschutzeinstellungen für App-Berechtigungen |
catbox-functional-privacy-setting |
Funktionstests der Mikrofoneinstellungen |
catbox-functional-privacy-setting-ui-elements |
Funktionstests für Datenschutzeinstellungen |
catbox-functional-profile-icon |
Funktionstests für die Symbolleiste des Profils |
catbox-functional-profiles-icon-list |
Liste der Tests für das Profilsymbol |
catbox-functional-security-setting |
Funktionstests für Sicherheitseinstellungen |
catbox-functional-setting |
Funktionstests einrichten |
catbox-functional-settings-location |
Standorttests einrichten |
catbox-functional-sound-setting |
Funktionstests für die Toneinstellungen |
catbox-functional-status-bar |
Funktionstests der Statusleiste |
catbox-functional-storage-setting |
Funktionstests für Speichereinstellungen |
catbox-functional-system-setting |
Funktionstests für Systemeinstellungen |
catbox-functional-systemui |
Tests der System-UI. |
catbox-functional-ux-restriction |
Funktionstests für UX-Einschränkungen |
catbox-functional-ux-restriction-facet-bar |
Funktionstests für UX-Einschränkungen |
In der folgenden Tabelle sind die CATBox-Leistungstestpläne aufgeführt.
Leistungstestpläne | Beschreibung |
---|---|
catbox-performance-cold-app-start-up-dialer |
Leistungstest für den Kaltstart von Apps für den Anrufer und das Telefon |
catbox-performance-cold-app-start-up-mediacenter |
Leistungstest für den Kaltstart von Apps für Media Center. |
catbox-performance-cold-app-start-up-settings |
Leistungstest für den Kaltstart der App mit den Einstellungen |
catbox-performance-create-and-switch-to-new-guest |
Latenz beim Wechsel zu einem neuen Gast messen |
catbox-performance-create-and-switch-to-new-user |
Messen Sie die Latenz beim Wechsel zu einem neuen Nutzer ohne Administratorberechtigungen. |
catbox-performance-hot-app-start-up-dialer |
Leistungstest für den Hot-App-Start von Telefon und Telefonie |
catbox-performance-hot-app-start-up-mediacenter |
Leistungstest für den schnellen Start von Apps im Media Center. |
catbox-performance-hot-app-start-up-settings |
Leistungstest für das schnelle Starten der App „Einstellungen“. |
catbox-performance-jank-appgrid |
Leistungstest für Appgrid. |
catbox-performance-jank-contact-list |
Leistungstest für Kontakte |
catbox-performance-jank-media |
Leistungstests für Medien |
catbox-performance-jank-media-switch-playback |
Leistungstest für die Medienwiedergabe bei Umschalten |
catbox-performance-jank-notifications |
Leistungstest für Benachrichtigungen. |
catbox-performance-jank-settings |
Leistungstest für die Einstellungen. |
catbox-performance-switch-to-existing-user |
Latenz für den Wechsel zu einem vorhandenen Nutzer messen |
Hostseitigen Test für mehrere Geräte ausführen
Bei der Ausführung von hostseitigen Tests mit mehreren Geräten wird CATBox verwendet, um den Test in einer Sitzung auszuführen. Beispiel: 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 installiert die apk
und führt den Test dann in der richtigen Python-Ausführungsumgebung aus.
CATBox-Testergebnisse prüfen
Die Ergebnisse von Funktions- und Leistungstests werden in android-catbox/results/latest
gespeichert.
Ergebnistyp | Standort |
---|---|
Testergebnisse | test_result.xml |
Details zu Fehlschlagstests | test_result_failures_suite.html |
Ergebnisse der Leistungsmesswerte | /report-log-files/CatboxPerformanceTests.reportlog.json |
Funktions- und Leistungstests | /android-catbox/logs/latest |