Vollständige Automobiltests in einer Box

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.

CATBox

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:

  1. Wählen Sie Device Target und führen Sie den folgenden Befehl aus:

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. 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:

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:

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

  2. Schließen Sie mindestens ein Gerät an und bereiten Sie das zu testende Gerät (DUT) wie folgt vor:

    1. Um das Autonavigationsgerät auf die Werkseinstellungen zurückzusetzen, klicken Sie auf Einstellungen > System > Optionen zurücksetzen > Alle Daten löschen .
    2. Warten Sie, bis das Gerät automatisch neu gestartet wird.
    3. 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
      
    4. 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.

    5. 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 Verzeichnis report-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:

  1. Verbinden Sie das mobile Gerät über Bluetooth mit der Automotive Head Unit.
  2. Stellen Sie sicher, dass das Testtelefon eine SIM-Karte zum Durchführen von Einwahltests enthält und mit dem Mobilfunknetz verbunden ist.
  3. Anwahltests verwenden auf dem Telefon gespeicherte Standardkontakte. Verwenden Sie die Datei „ contacts.vcf“ , um Kontakte auf das Telefon zu laden.
  4. 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:

  1. 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.
  2. Koppeln Sie das Telefon manuell über Bluetooth mit dem Fahrzeuggerät.
  3. 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:

  1. Stellen Sie sicher, dass das Telefon über mehrere Kontakte verfügt, damit der Test durch die Kontaktliste scrollen kann, um Jank-Metriken zu sammeln.
  2. Koppeln Sie das Telefon manuell über Bluetooth mit dem Fahrzeuggerät.
  3. Sobald das Telefon gekoppelt ist, kann auf die Kontakte auf dem Gerät zugegriffen werden.