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 mit den Tools, der Infrastruktur und den Tests kompatibel, 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 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 Ausführung von Tests auf Android-Geräten verwendet wird. Einzelheiten finden Sie unter Überblick über den Handelsverband .
Automotive-Testframework
CATBox basiert auf einem Automotive-Testframework namens Spectatio, das APIs zum Testen verschiedener Anwendungen 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.
CATBox-Testsuite-Downloads
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 bauen
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 Device Target und führen Sie den folgenden Befehl aus:
# Select Device Target Based on Device Architecture $ lunch <target>
Führen Sie zum Erstellen von CATBox den folgenden Befehl aus:
# Build CATBox $ 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.
Umgebung einrichten
Die Umgebungseinrichtung, die zum Ausführen von CATBox-Tests erforderlich ist, ähnelt der Einrichtung von CTS . Führen Sie zum Einrichten der Umgebung jede der folgenden Aufgaben aus:
- Installieren Sie ADB und AAPT .
- JDK installieren. Siehe Java Development Kit für Ubuntu.
- Speicherlimit erhöhen. Siehe Speicheranforderungen .
CATBox-Setup und -Ausführung
Verwenden Sie das Tradefed-Testframework, um die Tests auf Android-Geräten auszuführen. Machen Sie sich vor der CATBox-Einrichtung mit Trade Federation Overview vertraut.
Informationen zum Einrichten und Ausführen von CATBox finden Sie in den folgenden Abschnitten.
Geräte-Setup
Führen Sie vor dem Ausführen eines Testplans 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 Autonavigationsgerät auf die Werkseinstellungen zurückzusetzen, klicken Sie auf Einstellungen > System > Optionen zurücksetzen > Alle Daten löschen .
- Warten Sie, bis das Gerät automatisch neu gestartet wird.
Stellen Sie sicher, dass adb aktiviert ist. Führen Sie den folgenden Befehl aus, um zu bestätigen, dass das Gerät verfügbar ist:
$ adb devices
Führen Sie den folgenden Befehl aus, um root zu aktivieren:
# Enable Root $ adb -s DEVICE_SERIAL root
Ersetzen Sie
DEVICE_SERIAL
durch die Serien-ID für das Fahrzeuggerät.Mit WLAN verbinden.
Extrahieren Sie das CATBox-Paket
Entpacken Sie nach Abschluss der Geräteeinrichtung das CATBox-Paket und wechseln Sie in den extrahierten Ordner:
# Extract the CATBox Package
$ unzip android-catbox.zip
# Navigate to extracted CATBox Package
$ cd android-catbox
Führen Sie Tests in der CATBox durch
Um CATBox mit den Testplänen im CATBox-Paket auszuführen, führen Sie Folgendes aus:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Ersetzen Sie DEVICE_SERIAL
durch die Serien-ID für das Fahrzeuggerät. Wenn Sie mehrere Geräte mit dem Hostcomputer verbunden haben, verwenden DEVICE_SERIAL
, um sie zu unterscheiden. Ersetzen Sie TEST_PLAN_NAME
durch den Namen des Testplans, den Sie ausführen möchten.
Um eine vollständige Liste der verfügbaren Testpläne zu erhalten, führen Sie Folgendes aus:
./tools/catbox-tradefed list plans | grep -i catbox
Die folgende Tabelle zeigt verfügbare Testpläne nach Typ:
Testtyp | Name |
---|---|
Funktionstestpläne | catbox-functional-notification catbox-functional-setting catbox-functional-dial catbox-functional-system-setting catbox-functional-app-info-setting catbox-functional-network-setting catbox-functional-security-setting catbox-functional-sound-setting catbox-functional-date-time-setting catbox-functional-appgrid catbox-functional-home catbox-functional-lock-screen catbox-functional-navigation-bar catbox-functional-ux-restriction catbox-functional-bluetooth-audio |
Leistungstestpläne | catbox-performance-cold-app-start-up-settings catbox-performance-hot-app-start-up-settings catbox-performance-jank-settings catbox-performance-cold-app-start-up-dialer catbox-performance-hot-app-start-up-dialer catbox-performance-jank-contact-list catbox-performance-jank-notifications catbox-performance-jank-appgrid catbox-performance-cold-app-start-up-mediacenter catbox-performance-hot-app-start-up-mediacenter catbox-performance-create-and-switch-to-new-guest catbox-performance-create-and-switch-to-new-user catbox-performance-create-and-switch-to-precreated-guest catbox-performance-create-and-switch-to-precreated-user catbox-performance-switch-to-existing-user |
CATBox-Testergebnisse
Testergebnisse werden im Ordner android-catbox/results/latest
sowohl für Funktions- als auch für Leistungstestausführungen gespeichert.
- Testergebnisse finden Sie unter
test_result.xml
. - Einzelheiten zu Fehlertests finden Sie unter
test_result_failures_suite.html
. - Ergebnisse zu Leistungsmetriken finden Sie unter
CatboxPerformanceTests.reportlog.json
im Verzeichnisreport-log-files
.
Protokolle werden sowohl für Funktions- als auch für Leistungstestausführungen im Pfad android-catbox/logs/latest
gespeichert.
Einige Tests wie Dial, Bluetooth Audio und Jank-Tests für Kontaktlisten erfordern eine zusätzliche Geräteeinrichtung.
Wähltest
Für den Dial-Test sind Geräteeinrichtung und Laufzeitparameter erforderlich. So richten Sie das Gerät ein:
- Verbinden Sie das mobile Gerät über Bluetooth mit der Automotive Head Unit.
- Stellen Sie sicher, dass das Testtelefon eine SIM-Karte zum Durchführen von Einwahltests enthält und mit dem Mobilfunknetz verbunden ist.
- Anwahltests verwenden auf dem Telefon gespeicherte Standardkontakte. Verwenden Sie die Datei „ contacts.vcf“ , um Kontakte auf das Telefon zu laden.
Ersetzen Sie
COMPANION_SERIAL
durch die Seriennummer des Telefons und führen Sie die folgenden Befehle aus:# Contacts can be loaded on the phone by pushing the contacts.vcf file on the phone and importing it in the Contacts application. OR # Importing contacts using adb. # Push contacts VCF file to phone $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf # Grant Read Permissions $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts android.permission.READ_EXTERNAL_STORAGE # Import contacts from the VCF file $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf -a android.intent.action.VIEW com.google.android.contacts # Then accept the prompts on the UI to load the contacts.
Laufzeitparameter
Anwahltests verwenden kleine und große Telefonnummern für die Testausführung. Anwahltests verwenden auch den Kontaktnamen und die Kontaktnummer für Suchtests. Verwenden Sie die folgenden Parameter, um diese Informationen bereitzustellen:
Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>
Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>
Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >
Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >
Bluetooth-Audiotest
So richten Sie ein Gerät für den Bluetooth-Audiotest ein:
- Stellen Sie sicher, dass die YouTube Music App auf dem Telefon installiert ist und Sie bei einem Konto angemeldet sind. Wenn nicht, installieren Sie die App und melden Sie sich bei einem Konto an.
- Koppeln Sie das Telefon manuell über Bluetooth mit dem Fahrzeuggerät.
- Sobald das Telefon gekoppelt ist, spielen Sie einen Song auf dem Telefon ab und beginnen Sie dann mit der Durchführung des Tests.
Kontaktliste Jank-Test
So richten Sie ein Gerät für den Jank-Test der Kontaktliste ein:
- Stellen Sie sicher, dass das Telefon über mehrere Kontakte verfügt, damit der Test durch die Kontaktliste scrollen kann, um Jank-Metriken zu sammeln.
- Koppeln Sie das Telefon manuell über Bluetooth mit dem Fahrzeuggerät.
- Sobald das Telefon gekoppelt ist, kann auf die Kontakte auf dem Gerät zugegriffen werden.