Complete Automotive Tests in a Box (CATBox) ist ein Open-Source-Paket, das die Frameworks und Tools bereitstellt, die erforderlich sind, um Automotive-Tests mit minimaler Konfiguration zu optimieren und auszuführen. CATBox ist skalierbar und mit den Tools, der Infrastruktur und den Tests kompatibel, die Sie zum Testen und Validieren Ihrer Android Automotive OS-Implementierungen (AAOS) verwenden. So können Sie dem Marktplatz hochwertige Produkte anbieten.
CATBox-Design und ‑Implementierung
Die CATBox-Testsuite bietet die Tools, Frameworks und Tests, die erforderlich sind, um Funktions- und Leistungstests auf einem Automotive-Zielgerät und mit einem Begleitgerät auszuführen.
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 bietet. 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.
CATBox-Testsuite herunterladen
Android 14
Android Automotive 14 ist die Veröffentlichung des Entwicklungsmeilensteins mit dem Codenamen U. Über die folgenden Links können Sie CATBox-Testsuiten für Android 14 herunterladen:
Android 12
Android 12 ist das Release des Entwicklungsmeilensteins mit dem Codenamen S. Verwenden Sie die folgenden Links, um CATBox-Testsuites für Android 12 herunterzuladen:
Android 11
Android 11 ist die Veröffentlichung des Entwicklungsmeilensteins mit dem Codenamen R. Verwenden Sie die folgenden Links, um CATBox-Testsuiten für Android 11 herunterzuladen:
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 den folgenden Befehl aus, um CATBox zu erstellen:
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 für die Ausführung von CATBox-Tests erforderliche Einrichtung der Umgebung ähnelt der Einrichtung von 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-Testframework, um die Tests auf Android-Geräten auszuführen. Bevor Sie CATBox einrichten, lesen Sie 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:
Achten Sie darauf, dass Sie die aktuellen Versionen der Android Debug Bridge (adb) und des Android Asset Packaging Tool (AAPT) installiert und den Speicherort dieser Tools dem Systempfad Ihres Computers hinzugefügt haben. Weitere Informationen finden Sie unter ADB und AAPT.
Verbinden Sie mindestens ein Gerät und bereiten Sie das zu testende Gerät (Device Under Test, DUT) so vor:
Wenn Sie das Automotive-Gerä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-Zugriff zu aktivieren:
adb -s DEVICE_SERIAL root
Ersetzen Sie
DEVICE_SERIAL
durch die Serien-ID des Automotive-Geräts.Stellen Sie eine Verbindung zum WLAN her.
CATBox-Paket extrahieren
Nachdem Sie das Gerät eingerichtet haben, entpacken Sie 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 Serien-ID des Automotive-Geräts. Wenn mehrere Geräte mit dem Hostcomputer verbunden sind, verwenden Sie DEVICE_SERIAL
, um sie 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.
Funktionale Testpläne | Beschreibung |
---|---|
catbox-functional |
Funktionstests |
catbox-functional-app-info-setting |
Funktionstests für die Einstellung für App-Informationen. |
catbox-functional-admin-user-grant-permissions |
Funktionstests für das Gewähren von Berechtigungen für Administratornutzer. |
catbox-functional-app-info-setting-ui-elements |
Funktionstests für die Einstellung für App-Informationen. |
catbox-functional-appgrid |
Funktionstests für das 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 |
Funktionstests auf Basis von Bluetooth-Mopeds. |
catbox-functional-date-time-setting |
Funktionstests für die Datums- und Uhrzeiteinstellung. |
catbox-functional-dial |
Funktionstests für die Wählfunktion |
catbox-functional-display-setting |
Funktionstests für Displayeinstellungen. |
catbox-functional-driving-optimized-apps |
Funktionstests für UX-Einschränkungen. |
catbox-functional-enable-developers-option |
Funktionstests für Entwickleroptionen aktivieren. |
catbox-functional-home |
Funktionstests für das Zuhause |
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 für die Navigationsleiste. |
catbox-functional-network-palette |
Funktionstests der Statusleiste. |
catbox-functional-network-setting |
Funktionstests der 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 Profilsymbolleiste. |
catbox-functional-profiles-icon-list |
Tests für die Liste der Profilsymbole. |
catbox-functional-security-setting |
Funktionstests für Sicherheitseinstellungen. |
catbox-functional-setting |
Funktionstests einrichten. |
catbox-functional-settings-location |
Standorttests einrichten |
catbox-functional-sound-setting |
Funktionstests der Soundeinstellungen. |
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 Leistungs-Testpläne für CATBox aufgeführt.
Leistungstestpläne | Beschreibung |
---|---|
catbox-performance-cold-app-start-up-dialer |
Leistungstest für den Kaltstart von Dialer und 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 von Apps für 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 |
Latenz beim Wechsel zu einem neuen Nutzer ohne Administratorberechtigungen messen |
catbox-performance-hot-app-start-up-dialer |
Leistungstest für den Kaltstart von Dialer und Phone. |
catbox-performance-hot-app-start-up-mediacenter |
Leistungstest für den Kaltstart von Apps für Media Center. |
catbox-performance-hot-app-start-up-settings |
Leistungstest für den Kaltstart von 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 Media |
catbox-performance-jank-media-switch-playback |
Leistungstest für die Wiedergabe bei Medienwechsel. |
catbox-performance-jank-notifications |
Leistungstest für Benachrichtigungen. |
catbox-performance-jank-settings |
Leistungstest für Einstellungen |
catbox-performance-switch-to-existing-user |
Latenz beim Wechsel zu einem vorhandenen Nutzer messen. |
Multidevice-Hostseitentest ausführen
Für die Ausführung von hostseitigen Tests für mehrere Geräte 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 apk
und der Test wird dann in der richtigen Python-Ausführungsumgebung ausgeführt.
CATBox-Testergebnisse ansehen
Die Ergebnisse von Funktions- und Leistungstests werden in android-catbox/results/latest
gespeichert.
Ergebnistyp | Standort |
---|---|
Testergebnisse | test_result.xml |
Details zu Fehlerbehebungstests | test_result_failures_suite.html |
Ergebnisse der Leistungsmesswerte | /report-log-files/CatboxPerformanceTests.reportlog.json |
Funktions- und Leistungstests | /android-catbox/logs/latest |