Complete Automotive Tests in a Box (CATBox) ist ein Open-Source-Paket, das die Frameworks und Tools bereitstellt, die zum Optimieren und Ausführen von Automotive-Tests mit minimaler Konfiguration erforderlich sind. CATBox ist skalierbar und kompatibel mit den Tools, der Infrastruktur und den Tests, die Sie zum Testen und Validieren Ihrer Android Automotive OS (AAOS)-Implementierungen verwenden. Dadurch können Sie dem Markt qualitativ hochwertige Produkte anbieten.
CATBox-Design und Implementierung
Die CATBox-Testsuite bietet die Tools, Frameworks und Tests, die zum Ausführen von Funktions- und Leistungstests auf einem Automotive-Zielgerät und bei Verwendung eines Begleitgeräts erforderlich sind.
Das folgende Bild zeigt ein High-Level-Design eines CATBox-Pakets.
Abbildung 1. CATBox-Paket
Tradefed
Tradefed ist ein Open-Source-Framework für kontinuierliche Tests, das zur Durchführung von Tests auf Android-Geräten verwendet wird. Einzelheiten finden Sie unter Übersicht über die Handelsföderation .
Automotive-Testrahmen
CATBox basiert auf einem Automotive-Test-Framework namens Spectatio , das APIs zum Testen verschiedener Apps auf Automotive-Geräten bereitstellt. Es basiert auf UI Automator , einem Open-Source-Testframework, das eine Reihe von APIs zum Erstellen von UI-Tests bereitstellt, die mit Benutzer- und Systemanwendungen interagieren.
Downloads der CATBox-Testsuite
Android 14
Android Automotive 14 ist die Veröffentlichung des Entwicklungsmeilensteins mit dem Codenamen U. Verwenden Sie die folgenden Links, um CATBox-Testsuiten für Android 14 herunterzuladen:
Android 12
Android 12 ist die Veröffentlichung des Entwicklungsmeilensteins mit dem Codenamen S. Verwenden Sie die folgenden Links, um CATBox-Testsuiten 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 Befehl catbox
build, 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
Dieser Befehl erstellt die Datei
android-catbox.zip
im Verzeichnis/out/host/linux-x86/catbox
, die dann zum Ausführen von Tests verwendet werden kann.
Richten Sie die Umgebung ein
Die zur Ausführung von CATBox-Tests erforderliche Umgebungseinrichtung ähnelt der Einrichtung von CTS . Um die Umgebung einzurichten, führen Sie jede der folgenden Aufgaben aus:
Installieren Sie ADB und AAPT .
JDK installieren. Siehe Java Development Kit für Ubuntu .
Erhöhen Sie das Speicherlimit. Siehe 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 Übersicht über den Handelsverband .
Informationen zum Einrichten und Ausführen von CATBox finden Sie in den folgenden Abschnitten.
Richten Sie das Gerät ein
Bevor Sie einen Testplan ausführen, führen Sie die folgenden Schritte aus, um Ihr Gerät einzurichten:
Stellen Sie sicher, dass Sie die neuesten Versionen von Android Debug Bridge (adb) und Android Asset Packaging Tool (AAPT) installiert und den Speicherort dieser Tools zum Systempfad Ihres Computers hinzugefügt haben. Einzelheiten finden Sie unter ADB und AAPT .
Schließen Sie mindestens ein Gerät an und bereiten Sie das zu testende Gerät (DUT) wie folgt vor:
Um das Kfz-Gerät auf die Werkseinstellungen zurückzusetzen, gehen Sie zu Einstellungen > System > Optionen zurücksetzen > Alle Daten löschen .
Warten Sie, bis das Gerät automatisch neu startet.
Stellen Sie sicher, dass adb aktiviert ist. Um zu bestätigen, dass das Gerät verfügbar ist, führen Sie den folgenden Befehl aus:
adb devices
Um Root zu aktivieren, führen Sie den folgenden Befehl aus:
adb -s DEVICE_SERIAL root
Ersetzen Sie
DEVICE_SERIAL
durch die Seriennummer des Kfz-Geräts.Stellen Sie eine WLAN-Verbindung her.
Extrahieren Sie das CATBox-Paket
Entpacken Sie nach dem Einrichten des Geräts das CATBox-Paket und gehen Sie in den extrahierten Ordner:
unzip android-catbox.zip
cd android-catbox
Führen Sie Tests in CATBox aus
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 Kfz-Geräts. Wenn Sie mehrere Geräte an den Host-Computer angeschlossen haben, verwenden Sie DEVICE_SERIAL
um sie zu unterscheiden. Ersetzen Sie TEST_PLAN_NAME
durch den Namen des Testplans, den Sie ausführen möchten.
Um die umfassendste Liste der verfügbaren Pläne zu erhalten, verwenden Sie die Befehlszeile:
./tools/catbox-tradefed list plans | grep -i catbox
Arten von Testplänen
Die folgende Tabelle zeigt die verfügbaren Funktionstestpläne .
Funktionstestpläne | Beschreibung |
---|---|
catbox-functional | Funktionstests. |
catbox-functional-app-info-setting | App-Info-Einstellungsfunktionstests. |
catbox-functional-admin-user-grant-permissions | Admin-Benutzer gewähren Berechtigungen für Funktionstests. |
catbox-functional-app-info-setting-ui-elements | App-Info-Einstellungsfunktionstests. |
catbox-functional-appgrid | Funktionstests des App-Grids. |
catbox-functional-base | Liste der Funktionstests. |
catbox-functional-bluetooth-audio | Bluetooth-Audio Funktionstests. |
catbox-functional-bluetooth-palette | Funktionstests in der Statusleiste. |
catbox-functional-bluetooth-tests | Bluetooth-Tests mit Mobly. |
catbox-functional-brightness-palette | Funktionstests in der Statusleiste. |
catbox-functional-btmoped | Bluetooth-Moped-basierte Funktionstests. |
catbox-functional-date-time-setting | Funktionstests zur Einstellung von Datum und Uhrzeit. |
catbox-functional-dial | Wählen Sie Funktionstests. |
catbox-functional-display-setting | Funktionstests zur Anzeigeeinstellung. |
catbox-functional-driving-optimized-apps | Funktionstests für UX-Einschränkungen. |
catbox-functional-enable-developers-option | Aktivieren Sie Funktionstests für Entwickleroptionen. |
catbox-functional-home | Funktionstests für zu Hause. |
catbox-functional-lock-screen | Funktionstests des Sperrbildschirms. |
catbox-functional-mediacenter | Funktionstests des Media Centers. |
catbox-functional-microphone-recent-apps | Funktionstests der Mikrofoneinstellung. |
catbox-functional-microphone-setting | Funktionstests der Mikrofoneinstellung. |
catbox-functional-multiuser | Mehrbenutzer-Funktionstests. |
catbox-functional-multiuser-system-user | Mehrbenutzer-Funktionstests. |
catbox-functional-navigation-bar | Funktionstests der Navigationsleiste. |
catbox-functional-network-palette | Funktionstests in der Statusleiste. |
catbox-functional-network-setting | Funktionstests für Netzwerkeinstellungen. |
catbox-functional-notification | Benachrichtigungsfunktionstests. |
catbox-functional-privacy-permission-manager | Funktionstests zur Einstellung der Datenschutz-App-Berechtigung. |
catbox-functional-privacy-setting | Funktionstests der Mikrofoneinstellung. |
catbox-functional-privacy-setting-ui-elements | Funktionstests zur Privatsphäre-Einstellung. |
catbox-functional-profile-icon | Funktionstests der Profilsymbolleiste. |
catbox-functional-profiles-icon-list | Tests der Profilsymbolliste. |
catbox-functional-security-setting | Funktionstests für Sicherheitseinstellungen. |
catbox-functional-setting | Funktionstests festlegen. |
catbox-functional-settings-location | Standorttests festlegen. |
catbox-functional-sound-setting | Funktionstests zur Klangeinstellung. |
catbox-functional-status-bar | Funktionstests in der Statusleiste. |
catbox-functional-storage-setting | Funktionstests der Speichereinstellungen. |
catbox-functional-system-setting | Funktionstests zur Systemeinstellung. |
catbox-functional-systemui | System-UI-Tests. |
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 Leistungstestpläne für CATBox aufgeführt.
Leistungstestpläne | Beschreibung |
---|---|
catbox-performance-cold-app-start-up-dialer | Leistungstest beim Kaltstart von Apps für Dialer und Telefon. |
catbox-performance-cold-app-start-up-mediacenter | Leistungstest für den Kaltstart einer App für Media Center. |
catbox-performance-cold-app-start-up-settings | Leistungstest beim Kaltstart der App für Einstellungen. |
catbox-performance-create-and-switch-to-new-guest | Messen Sie die Latenz, um zu einem neuen Gast zu wechseln. |
catbox-performance-create-and-switch-to-new-user | Messen Sie die Latenz, um zu einem neuen Benutzer ohne Administratorrechte zu wechseln. |
catbox-performance-hot-app-start-up-dialer | Hot-App-Startleistungstest für Dialer und Telefon. |
catbox-performance-hot-app-start-up-mediacenter | Hot-App-Startleistungstest für Media Center. |
catbox-performance-hot-app-start-up-settings | Hot-App-Startleistungstest für 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 Medienwechselwiedergabe. |
catbox-performance-jank-notifications | Leistungstest für Benachrichtigungen. |
catbox-performance-jank-settings | Leistungstest für Einstellungen. |
catbox-performance-switch-to-existing-user | Messen Sie die Latenz, um zu einem vorhandenen Benutzer zu wechseln. |
Führen Sie den Host-Seitentest für mehrere Geräte aus
Bei der Ausführung von Tests auf der Hostseite mehrerer 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 die apk
und dann wird der Test in der richtigen Python-Ausführungsumgebung ausgeführt.
Überprüfen Sie die CATBox-Testergebnisse
Ergebnisse von Funktions- und Leistungstestläufen werden in android-catbox/results/latest
gespeichert.
Ergebnistyp | Standort |
---|---|
Testergebnisse | test_result.xml |
Details zu Fehlertests | test_result_failures_suite.html |
Ergebnisse der Leistungsmetriken | /report-log-files/CatboxPerformanceTests.reportlog.json |
Funktions- und Leistungstestläufe | /android-catbox/logs/latest |