Vollständige Automotive-Tests in einer Box (CATBox) ist ein Open-Source-Paket, das stellt die Frameworks und Tools bereit, die zur Rationalisierung und Ausführung der Automobilbranche erforderlich sind bei minimaler Konfiguration testen. CATBox ist skalierbar und kompatibel mit die Tools, Infrastruktur und Tests, die Sie zum Testen und Validieren Ihres Android- Automotive OS-Implementierungen (AAOS) So können Sie Ihren Nutzern auf dem Markt zu finden.
CATBox-Design und -Implementierung
Die CATBox-Testsuite bietet die Tools, Frameworks und Tests, die für Funktions- und Leistungstests auf einem Zielgerät in der Automobilbranche durchführen und wenn Sie ein Begleitgerät verwenden.
Die folgende Abbildung zeigt das übergeordnete Design eines CATBox-Pakets.
Abbildung 1: CATBox-Paket
Tradefed
Tradefed ist ein Open-Source-Framework für kontinuierliche Tests, mit dem Android-Geräten Weitere Informationen finden Sie unter Trade Federation – Übersicht.
Test-Framework für die Automobilbranche
CATBox basiert auf einem Automotive-Testframework namens Spectatio, das APIs für Tests bereitstellt für verschiedene Apps auf Geräten in der Automobilbranche. Es baut auf dem von UI Automator Open-Source-Test-Framework, das eine Reihe von APIs zum Erstellen von UI-Tests bereitstellt die mit Nutzer- und Systemanwendungen interagieren.
CATBox-Testsuite-Downloads
Android 14
Android Automotive 14 ist die Veröffentlichung von dem Entwicklungsmeilenstein mit dem Codenamen U. Verwenden Sie die folgenden Links zum Herunterladen CATBox-Testsuites für Android 14:
Android 12
Android 12 ist die Veröffentlichung des Entwicklungsmeilensteins. Codename S. Über die folgenden Links können Sie CATBox-Testsuites für Android 12:
Android 11
Android 11 ist die Veröffentlichung des Entwicklungsmeilensteins mit dem Codenamen „R“. Verwenden Sie die Methode über die folgenden Links können Sie die CATBox-Testsuites für Android 11 herunterladen:
CATBox erstellen
Verwenden Sie den Build-Befehl catbox
, sobald der Android-AOSP-Code auf der
lokale Workstation.
So erstellen Sie das CATBox-Paket lokal:
Wählen Sie das Geräteziel anhand der Gerätearchitektur aus und führen Sie den folgenden Befehl:
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/out/host/linux-x86/catbox
-Verzeichnis, das dann zum Ausführen von Tests verwendet werden kann.
Umgebung einrichten
Die zum Ausführen von CATBox-Tests erforderliche Umgebungseinrichtung ähnelt der CTS einrichten So richten Sie den führen Sie die folgenden Aufgaben aus:
Installieren Sie ADB und AAPT.
Installieren Sie das JDK. Weitere Informationen finden Sie unter Java Development Kit für Ubuntu
Speicherlimit erhöhen. Weitere Informationen finden Sie unter Speicheranforderungen:
CATBox einrichten und ausführen
Mit dem Tradefed-Test-Framework kannst du die Tests auf Android-Geräten durchführen. Bevor Sie Informationen zum Einrichten von CATBox finden Sie unter Trade Federation – Übersicht.
Informationen zum Einrichten und Ausführen von CATBox finden Sie in den folgenden Abschnitten.
Gerät einrichten
Führe die folgenden Schritte aus, um dein Gerät einzurichten, bevor du einen Testplan ausführst:
Stellen Sie sicher, dass Sie die aktuellen Versionen der Android Debug Bridge (ADB) und die Android Asset Packaging Tool (AAPT), und den Speicherort dieser Tools zum Systempfad hinzugefügt. Maschine. Weitere Informationen finden Sie unter ADB und AAPT:
Verbinden Sie mindestens ein Gerät und bereiten Sie das zu testende Gerät (DUT) vor als folgt:
Um das Automobil-Gerät auf die Werkseinstellungen zurückzusetzen, gehe zu Einstellungen > System > Optionen zurücksetzen > Alle Daten löschen.
Warten Sie, bis das Gerät automatisch neu gestartet wird.
Prüfen Sie, ob ADB aktiviert ist. Um zu bestätigen, dass das Gerät verfügbar ist, führen Sie den Befehl folgenden Befehl:
adb devices
Führen Sie den folgenden Befehl aus, um Root zu aktivieren:
adb -s DEVICE_SERIAL root
Ersetzen Sie
DEVICE_SERIAL
durch die Seriennummer des im Auto.Stellen Sie eine Verbindung zum WLAN her.
CATBox-Paket extrahieren
Entpacken Sie nach dem Einrichten des Geräts das CATBox-Paket und gehen Sie zur extrahierter Ordner:
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
im Auto. Sind mehrere Geräte mit dem Hostcomputer verbunden,
Verwenden Sie DEVICE_SERIAL
, um sie zu unterscheiden. Ersetzen
TEST_PLAN_NAME
durch den Namen des gewünschten Testplans
ausgeführt werden soll.
Die vollständige Liste der verfügbaren Pläne 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 der App-Informationen. |
catbox-functional-admin-user-grant-permissions |
Funktionstests für die Gewährung von Berechtigungen durch Administratoren. |
catbox-functional-app-info-setting-ui-elements |
Funktionstests für die Einstellung der 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-Audiofunktionen. |
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 Einstellung von Datum und Uhrzeit. |
catbox-functional-dial |
Funktionstests aufrufen. |
catbox-functional-display-setting |
Funktionstests für Einstellungen anzeigen. |
catbox-functional-driving-optimized-apps |
Funktionstests für die UX-Einschränkung. |
catbox-functional-enable-developers-option |
Funktionstests der Entwickleroption aktivieren. |
catbox-functional-home |
Funktionstests für zu Hause. |
catbox-functional-lock-screen |
Funktionstests für den Sperrbildschirm. |
catbox-functional-mediacenter |
Funktionstests im Media Center. |
catbox-functional-microphone-recent-apps |
Funktionstests für die Mikrofoneinstellung. |
catbox-functional-microphone-setting |
Funktionstests für die Mikrofoneinstellung. |
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 die Netzwerkeinstellungen. |
catbox-functional-notification |
Funktionstests für Benachrichtigungen. |
catbox-functional-privacy-permission-manager |
Funktionstests für die Einstellung von Berechtigungen für die Privacy App. |
catbox-functional-privacy-setting |
Funktionstests für die Mikrofoneinstellung. |
catbox-functional-privacy-setting-ui-elements |
Funktionstests der Datenschutzeinstellungen. |
catbox-functional-profile-icon |
Funktionstests der Profilsymbolleiste. |
catbox-functional-profiles-icon-list |
Profilsymbol – Liste der Tests. |
catbox-functional-security-setting |
Funktionstests für die Sicherheitseinstellungen. |
catbox-functional-setting |
Funktionstests festlegen |
catbox-functional-settings-location |
Standorttests werden festgelegt. |
catbox-functional-sound-setting |
Funktionstests der Toneinstellungen. |
catbox-functional-status-bar |
Funktionstests der Statusleiste. |
catbox-functional-storage-setting |
Funktionstests für die Speichereinstellung. |
catbox-functional-system-setting |
Funktionstests für die Systemeinstellungen. |
catbox-functional-systemui |
System-UI-Tests |
catbox-functional-ux-restriction |
Funktionstests für die UX-Einschränkung. |
catbox-functional-ux-restriction-facet-bar |
Funktionstests für die UX-Einschränkung. |
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 Starten von Kaltanwendung für Telefon und Telefon. |
catbox-performance-cold-app-start-up-mediacenter |
Leistungstest beim Start von kalten Apps für das Media Center. |
catbox-performance-cold-app-start-up-settings |
Leistungstest beim Start von kalten Apps 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 Nutzer ohne Administratorberechtigungen zu wechseln. |
catbox-performance-hot-app-start-up-dialer |
Leistungstest beim Starten von Heiß-Apps für Telefon und Telefon. |
catbox-performance-hot-app-start-up-mediacenter |
Leistungstest beim Starten von Heiß-Apps für das Media Center. |
catbox-performance-hot-app-start-up-settings |
Leistungstest beim Starten von Heiß-Apps für die 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 Wiedergabe des Medienwechsels. |
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 beim Wechsel zu einem vorhandenen Nutzer. |
Host-Test für mehrere Geräte ausführen
Host-seitige Tests auf mehreren Geräten werden mithilfe von CATBox ausgeführt.
in einer Sitzung an. 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 dann wird der Test im richtigen Python-Code ausgeführt
der Ausführungsumgebung.
CATBox-Testergebnisse überprüfen
Die Ergebnisse von Funktions- und Leistungstests werden gespeichert in
android-catbox/results/latest
Ergebnistyp | Standort |
---|---|
Testergebnisse | test_result.xml |
Details zu Fehlertests | test_result_failures_suite.html |
Ergebnisse der Leistungsmesswerte | /report-log-files/CatboxPerformanceTests.reportlog.json |
Funktions- und Leistungstestläufe | /android-catbox/logs/latest |