Kompletne testy motoryzacyjne w pudełku

Complete Automotive Tests in a Box (CATBox) to pakiet open source, który zapewnia ramy i narzędzia wymagane do usprawnienia i wykonywania testów motoryzacyjnych przy minimalnej konfiguracji. CATBox jest skalowalny i kompatybilny z narzędziami, infrastrukturą i testami używanymi do testowania i walidacji implementacji Android Automotive OS (AAOS). Dzięki temu możesz dostarczać na rynek produkty wysokiej jakości.

Projekt i wdrożenie CATBox

Zestaw testów CATBox zapewnia narzędzia, frameworki i testy potrzebne do wykonania testów funkcjonalnych i wydajnościowych na samochodowym urządzeniu docelowym.

Poniższy obraz ilustruje projekt wysokiego poziomu pakietu CATBox.

CATBox

Rysunek 1. Pakiet CATBox

Tradefed

Tradefed to platforma do ciągłego testowania typu open source, używana do wykonywania testów na urządzeniach z systemem Android. Aby uzyskać szczegółowe informacje, zobacz Omówienie federacji handlowych .

Ramy testów motoryzacyjnych

CATBox jest oparty na platformie testowej Automotive o nazwie Spectatio, która zapewnia interfejsy API do testowania różnych aplikacji na urządzeniach motoryzacyjnych. Jest zbudowany na bazie UI Automator , platformy testowej typu open source, która zapewnia zestaw interfejsów API do tworzenia testów interfejsu użytkownika, które współdziałają z aplikacjami użytkownika i systemu.

Pobieranie zestawu testowego CATBox

Android 12

Android 12 to wydanie kamienia milowego rozwoju o nazwie kodowej S. Użyj poniższych linków, aby pobrać zestawy testowe CATBox dla Androida 12:

Androida 11

Android 11 to wydanie kamienia milowego rozwoju o nazwie kodowej R. Użyj poniższych linków, aby pobrać zestawy testowe CATBox dla Androida 11:

Zbuduj CATBox

Użyj polecenia catbox build, gdy kod Android AOSP będzie dostępny na lokalnej stacji roboczej. Aby zbudować pakiet CATBox lokalnie:

  1. Wybierz Device Target i uruchom następujące polecenie:

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. Aby zbudować CATBox, uruchom następujące polecenie:

    # Build CATBox
    $ make catbox
    

    To polecenie tworzy plik android-catbox.zip w katalogu /out/host/linux-x86/catbox , którego można następnie użyć do uruchamiania testów.

Konfiguracja środowiska

Konfiguracja środowiska wymagana do wykonania testów CATBox jest podobna do konfiguracji CTS . Aby skonfigurować środowisko, wykonaj każde z następujących zadań:

Konfiguracja i wykonanie CATBox

Użyj platformy testowej Tradefed, aby uruchomić testy na urządzeniach z systemem Android. Przed skonfigurowaniem CATBox zapoznaj się z Omówieniem federacji handlowych .

Aby skonfigurować i uruchomić CATBox, zapoznaj się z poniższymi sekcjami.

Konfiguracja urządzenia

Przed uruchomieniem planu testów wykonaj następujące czynności, aby skonfigurować urządzenie:

  1. Upewnij się, że zainstalowałeś najnowsze wersje zarówno Android Debug Bridge (adb) , jak i Android Asset Packaging Tool (AAPT) , a także dodałeś lokalizację tych narzędzi do ścieżki systemowej komputera. Aby uzyskać szczegółowe informacje, zobacz ADB i AAPT .

  2. Podłącz co najmniej jedno urządzenie i przygotuj testowane urządzenie (DUT) w następujący sposób:

    1. Aby przywrócić ustawienia fabryczne urządzenia samochodowego, kliknij Ustawienia > System > Opcje resetowania > Usuń wszystkie dane .
    2. Poczekaj, aż urządzenie automatycznie uruchomi się ponownie.
    3. Upewnij się, że adb jest włączony. Aby potwierdzić, że urządzenie jest dostępne, uruchom następujące polecenie:

      $ adb devices
      
    4. Aby włączyć root, uruchom następujące polecenie:

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

      Zastąp DEVICE_SERIAL identyfikatorem seryjnym urządzenia samochodowego.

    5. Połącz się z Wi-Fi.

Wyodrębnij pakiet CATBox

Po zakończeniu konfiguracji urządzenia rozpakuj pakiet CATBox i przejdź do wyodrębnionego folderu:

# Extract the CATBox Package
$ unzip android-catbox.zip

# Navigate to extracted CATBox Package
$ cd android-catbox

Wykonywanie testów w CATBox

Aby uruchomić CATBox z planami testów w pakiecie CATBox, uruchom następujące polecenie:

./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL

Zastąp DEVICE_SERIAL identyfikatorem seryjnym urządzenia samochodowego. Jeśli masz wiele urządzeń podłączonych do hosta, użyj DEVICE_SERIAL , aby je rozróżnić. Zastąp TEST_PLAN_NAME nazwą planu testów, który chcesz uruchomić.

Aby uzyskać pełną listę dostępnych planów testowych, uruchom następujące czynności:

./tools/catbox-tradefed list plans | grep -i catbox

Poniższa tabela przedstawia dostępne plany testów według typu:

Rodzaj testu Nazwa
Plany testów funkcjonalnych 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
Plany testów wydajności 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

Wyniki testu CATBox

Wyniki testów są zapisywane w folderze android-catbox/results/latest zarówno dla wykonania testów funkcjonalnych, jak i wydajnościowych.

  • Wyniki testów można znaleźć w test_result.xml .
  • Szczegółowe informacje na temat testów niepowodzenia można znaleźć w artykule test_result_failures_suite.html .
  • Aby uzyskać wyniki metryk wydajności, zobacz CatboxPerformanceTests.reportlog.json w katalogu report-log-files .

Dzienniki są zapisywane w ścieżce android-catbox/logs/latest zarówno dla wykonań testów funkcjonalnych, jak i wydajnościowych.

Niektóre testy, takie jak testy wybierania numeru, audio Bluetooth i niechciane testy listy kontaktów, wymagają dodatkowej konfiguracji urządzenia.

Test wybierania

Test wybierania wymaga konfiguracji urządzenia i parametrów wykonawczych. Aby skonfigurować urządzenie:

  1. Połącz urządzenie mobilne z samochodowym radioodtwarzaczem przez Bluetooth.
  2. Upewnij się, że telefon testowy zawiera kartę SIM do przeprowadzania testów wybierania i jest podłączony do sieci komórkowej.
  3. Testy wybierania wykorzystują domyślne kontakty zapisane w telefonie. Użyj pliku kontakty.vcf , aby załadować kontakty w telefonie.
  4. Zastąp COMPANION_SERIAL identyfikatorem seryjnym telefonu i uruchom następujące polecenia:

    # 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.
    
Parametry wykonawcze

Testy wybierania numerów wykorzystują małe i duże numery telefonów do wykonania testu. Testy wybierania również wykorzystują nazwę kontaktu i numer kontaktowy do testów wyszukiwania. Użyj następujących parametrów, aby podać te informacje:

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 >

Test dźwięku Bluetooth

Aby skonfigurować urządzenie do testu dźwięku Bluetooth:

  1. Upewnij się, że aplikacja YouTube Music jest zainstalowana na telefonie i jesteś zalogowany na konto. Jeśli nie, zainstaluj aplikację i zaloguj się na konto.
  2. Sparuj telefon ręcznie z urządzeniem samochodowym przez Bluetooth.
  3. Po sparowaniu telefonu odtwórz utwór na telefonie, a następnie rozpocznij wykonywanie testu.

Test z listą kontaktów

Aby skonfigurować urządzenie do testu zerwania listy kontaktów:

  1. Upewnij się, że telefon ma kilka kontaktów, aby test mógł przewijać listę kontaktów w celu zebrania błędnych danych.
  2. Sparuj telefon ręcznie z urządzeniem samochodowym przez Bluetooth.
  3. Po sparowaniu telefonu kontakty są dostępne na urządzeniu.