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.
Rysunek 1. Pakiet CATBox
Tradefed
Tradefed to platforma do ciągłego testowania typu open source służąca 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:
Wybierz Device Target i uruchom następujące polecenie:
# Select Device Target Based on Device Architecture $ lunch <target>
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ń:
- Zainstaluj ADB i AAPT .
- Zainstaluj JDK. Zobacz Java Development Kit dla Ubuntu.
- Zwiększ limit pamięci. Zobacz Wymagania dotyczące pamięci .
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:
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 .
Podłącz co najmniej jedno urządzenie i przygotuj testowane urządzenie (DUT) w następujący sposób:
- Aby przywrócić ustawienia fabryczne urządzenia samochodowego, kliknij Ustawienia > System > Opcje resetowania > Usuń wszystkie dane .
- Poczekaj, aż urządzenie automatycznie uruchomi się ponownie.
Upewnij się, że adb jest włączony. Aby potwierdzić, że urządzenie jest dostępne, uruchom następujące polecenie:
$ adb devices
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.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 o testach niepowodzeń można znaleźć w
test_result_failures_suite.html
. - Aby uzyskać wyniki metryk wydajności, zobacz
CatboxPerformanceTests.reportlog.json
w katalogureport-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:
- Podłącz urządzenie mobilne do samochodowej jednostki głównej przez Bluetooth.
- Upewnij się, że telefon testowy zawiera kartę SIM do przeprowadzania testów wybierania i jest połączony z siecią komórkową.
- Testy wybierania wykorzystują domyślne kontakty zapisane w telefonie. Użyj pliku kontakty.vcf , aby załadować kontakty do telefonu.
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 telefoniczne 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:
- 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.
- Sparuj telefon ręcznie z urządzeniem samochodowym przez Bluetooth.
- 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:
- Upewnij się, że telefon ma kilka kontaktów, aby test mógł przewijać listę kontaktów w celu zebrania błędnych danych.
- Sparuj telefon ręcznie z urządzeniem samochodowym przez Bluetooth.
- Po sparowaniu telefonu kontakty są dostępne na urządzeniu.