Vollständige Autotests in der Verpackung

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.

CAT-Box

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:

  1. Wählen Sie das Geräteziel anhand der Gerätearchitektur aus und führen Sie den folgenden Befehl:

    lunch <target>
    
  2. 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:

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:

  1. 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:

  2. Verbinden Sie mindestens ein Gerät und bereiten Sie das zu testende Gerät (DUT) vor als folgt:

    1. Um das Automobil-Gerät auf die Werkseinstellungen zurückzusetzen, gehe zu Einstellungen > System > Optionen zurücksetzen > Alle Daten löschen.

    2. Warten Sie, bis das Gerät automatisch neu gestartet wird.

    3. 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
      
    4. 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.

    5. 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