CATBox to pakiet open source, zapewnia platformy i narzędzia wymagane do usprawnienia i wdrożenia rozwiązań z zakresu branży motoryzacyjnej przy minimalnej konfiguracji. CATBox jest skalowalny i zgodny z narzędzia, infrastrukturę i testy używane do testowania i weryfikacji Androida; Implementacje systemu operacyjnego Automotive OS (AAOS). Dzięki temu można zapewnić wysoką jakość reklam swoje produkty na rynku.
Projektowanie i implementacja CATBox
Zestaw testów CATBox zawiera narzędzia, platformy i testy niezbędne do przeprowadzanie testów funkcjonalnych i wydajności na docelowym urządzeniu samochodowym; podczas korzystania z urządzenia towarzyszącego.
Poniższa ilustracja przedstawia ogólny projekt pakietu CATBox.
Rysunek 1. Pakiet CATBox
Handfeder
Tradefed to platforma do ciągłego testowania typu open source wykorzystywana do wykonywania testów Urządzenia z Androidem. Szczegółowe informacje można znaleźć w artykule Omówienie federacji handlowej.
Platforma do testów motoryzacyjnych
CATBox opiera się na platformie testowej Automotive, Spectatio – udostępnia interfejsy API do testowania; różne aplikacje na urządzenia motoryzacyjne. Platforma opiera się na z Automator UI, platformę testowania typu open source, która udostępnia zestaw interfejsów API do tworzenia testów UI które współdziałają z aplikacjami użytkownika i systemowymi.
Pobieranie pakietu testowego CATBox
Android 14
Android Automotive 14 to premiera kamienia milowego w programie o kryptonimie U. Użyj tych linków, aby pobrać Zestawy testowe CATBox na Androida 14:
Android 12
Android 12 to istotny etap w rozwoju aplikacji kryptonim S. Użyj poniższych linków, aby pobrać zestawy testów CATBox dla Android 12:
Android 11
Android 11 to wersja deweloperska w wersji produkcyjnej o kryptonicznej nazwie R. Użyj te linki do pobrania pakietów testowych CATBox na Androida 11:
Kompilacja CATBox
Użyj polecenia kompilacji catbox
, gdy kod AOSP Androida będzie dostępny w
z lokalnej stacji roboczej.
Aby lokalnie utworzyć pakiet CATBox:
Wybierz miejsce docelowe na podstawie architektury urządzenia i uruchom to polecenie:
lunch <target>
Aby skompilować plik CATBox, uruchom następujące polecenie:
make catbox
To polecenie tworzy plik
android-catbox.zip
w sekcji/out/host/linux-x86/catbox
, w którym możesz przeprowadzać testy.
Konfigurowanie środowiska
Konfiguracja środowiska wymagana do wykonywania testów CATBox jest podobna do Konfiguruję CTS. Aby skonfigurować wykonaj wszystkie te czynności:
Zainstaluj ADB i AAPT.
Zainstaluj pakiet JDK. Zobacz Pakiet Java Development Kit dla systemu Ubuntu
Zwiększ limit pamięci. Zobacz Wymagania dotyczące miejsca na dane
Konfigurowanie i uruchamianie CATBox
Użyj platformy testowej Tradefed, aby przeprowadzić testy na urządzeniach z Androidem. Przed Tobą dowiedzieć się, jak skonfigurować CATBox, przeczytaj Omówienie federacji handlowej.
Informacje o konfigurowaniu i uruchamianiu CATBox znajdziesz w sekcjach poniżej.
Skonfiguruj urządzenie
Zanim uruchomisz plan testów, wykonaj te czynności, aby skonfigurować urządzenie:
Upewnij się, że masz zainstalowane najnowsze wersje Android Debug Bridge (adb) oraz Android Asset Packaging Tool (AAPT), a także dodaliśmy lokalizację tych narzędzi do ścieżki systemowej na komputerze. Więcej informacji: ADB i AAPT.
Podłącz co najmniej 1 urządzenie i przygotuj urządzenie w trakcie testowania jako następujące:
Aby przywrócić urządzenie samochodowe do ustawień fabrycznych, wejdź na Ustawienia > System > Opcje resetowania > Usuń wszystkie dane.
Poczekaj, aż urządzenie automatycznie uruchomi się ponownie.
Sprawdź, czy narzędzie adb jest włączone. Aby sprawdzić, czy urządzenie jest dostępne, uruchom to polecenie:
adb devices
Aby włączyć dostęp roota, uruchom to polecenie:
adb -s DEVICE_SERIAL root
Zastąp
DEVICE_SERIAL
identyfikatorem seryjnym do samochodu.Nawiąż połączenie z siecią Wi-Fi.
Wyodrębnianie pakietu CATBox
Po skonfigurowaniu urządzenia rozpakuj pakiet CATBox i otwórz wyodrębniony folder:
unzip android-catbox.zip
cd android-catbox
Wykonywanie testów w CATBox
Aby uruchomić narzędzie CATBox z planami testów w pakiecie CATBox:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
Zastąp DEVICE_SERIAL
identyfikatorem seryjnym
do samochodu. Jeśli do hosta masz podłączonych kilka urządzeń,
aby je rozróżnić, użyj DEVICE_SERIAL
. Zastąp
TEST_PLAN_NAME
nazwą abonamentu, którego chcesz używać do testów
do uruchomienia.
Aby zobaczyć pełną listę dostępnych abonamentów, użyj wiersza poleceń:
./tools/catbox-tradefed list plans | grep -i catbox
Typy planów testów
W tabeli poniżej znajdziesz dostępne funkcjonalne plany testów.
Plany testów funkcjonalnych | Opis |
---|---|
catbox-functional |
Testy funkcjonalne. |
catbox-functional-app-info-setting |
Ustawienia informacji o aplikacji – testy funkcjonalne. |
catbox-functional-admin-user-grant-permissions |
Test funkcji przyznawania uprawnień przez administratora. |
catbox-functional-app-info-setting-ui-elements |
Ustawienia informacji o aplikacji – testy funkcjonalne. |
catbox-functional-appgrid |
Testy funkcjonalne siatki aplikacji. |
catbox-functional-base |
Lista testów funkcjonalnych. |
catbox-functional-bluetooth-audio |
Testy funkcjonalne dźwięku Bluetooth. |
catbox-functional-bluetooth-palette |
Testy funkcjonalne paska stanu. |
catbox-functional-bluetooth-tests |
Testy Bluetootha w Mobly. |
catbox-functional-brightness-palette |
Testy funkcjonalne paska stanu. |
catbox-functional-btmoped |
Testy funkcjonalne oparte na silniku Bluetooth. |
catbox-functional-date-time-setting |
Ustawienie daty i godziny testów funkcjonalnych. |
catbox-functional-dial |
Wybierz testy funkcjonalne. |
catbox-functional-display-setting |
Wyświetl testy funkcjonalne ustawienia. |
catbox-functional-driving-optimized-apps |
Testy funkcjonalne dotyczące ograniczeń UX. |
catbox-functional-enable-developers-option |
Włącz opcję testów funkcjonalnych dla programistów. |
catbox-functional-home |
Domowe testy funkcjonalne. |
catbox-functional-lock-screen |
Testy działania ekranu blokady. |
catbox-functional-mediacenter |
testów funkcjonalnych Media Center. |
catbox-functional-microphone-recent-apps |
Testy funkcjonalne ustawień mikrofonu. |
catbox-functional-microphone-setting |
Testy funkcjonalne ustawień mikrofonu. |
catbox-functional-multiuser |
Testy funkcjonalne wielu użytkowników. |
catbox-functional-multiuser-system-user |
Testy funkcjonalne wielu użytkowników. |
catbox-functional-navigation-bar |
Testy funkcjonalne paska nawigacyjnego. |
catbox-functional-network-palette |
Testy funkcjonalne paska stanu. |
catbox-functional-network-setting |
Testy funkcjonalne ustawień sieci. |
catbox-functional-notification |
Testy funkcjonalności powiadomień. |
catbox-functional-privacy-permission-manager |
Testy funkcjonalne ustawień uprawnień aplikacji do ochrony prywatności. |
catbox-functional-privacy-setting |
Testy funkcjonalne ustawień mikrofonu. |
catbox-functional-privacy-setting-ui-elements |
Ustawienia prywatności – testy funkcjonalne. |
catbox-functional-profile-icon |
Testy funkcjonalne paska ikon profilu. |
catbox-functional-profiles-icon-list |
Testy listy ikon profili. |
catbox-functional-security-setting |
Testy funkcjonalne ustawień zabezpieczeń. |
catbox-functional-setting |
Ustawianie testów funkcjonalnych. |
catbox-functional-settings-location |
Ustawianie testów lokalizacji. |
catbox-functional-sound-setting |
Testy funkcjonalne ustawień dźwięku. |
catbox-functional-status-bar |
Testy funkcjonalne paska stanu. |
catbox-functional-storage-setting |
Testy funkcjonalne ustawień pamięci. |
catbox-functional-system-setting |
Testy funkcjonalne ustawień systemu. |
catbox-functional-systemui |
Testy interfejsu systemu. |
catbox-functional-ux-restriction |
Testy funkcjonalne dotyczące ograniczeń UX. |
catbox-functional-ux-restriction-facet-bar |
Testy funkcjonalne dotyczące ograniczeń UX. |
W tabeli poniżej znajdziesz plany testów wydajności CATBox.
Plany testów skuteczności | Opis |
---|---|
catbox-performance-cold-app-start-up-dialer |
Test wydajności uruchamiania „na zimno” aplikacji Telefon i Telefon. |
catbox-performance-cold-app-start-up-mediacenter |
Test wydajności uruchamiania aplikacji „na zimno” w Media Center. |
catbox-performance-cold-app-start-up-settings |
Test wydajności uruchamiania aplikacji „na zimno” w ustawieniach. |
catbox-performance-create-and-switch-to-new-guest |
Zmierz opóźnienie przełączania na nowego gościa. |
catbox-performance-create-and-switch-to-new-user |
Zmierz czas oczekiwania przed przełączeniem się na nowego użytkownika bez uprawnień administratora. |
catbox-performance-hot-app-start-up-dialer |
Test wydajności uruchamiania aplikacji Telefon i Telefon. |
catbox-performance-hot-app-start-up-mediacenter |
Test wydajności uruchamiania aplikacji popularnej w Media Center. |
catbox-performance-hot-app-start-up-settings |
Test wydajności uruchamiania aplikacji popularnej w Ustawieniach. |
catbox-performance-jank-appgrid |
Test wydajności Appgrid. |
catbox-performance-jank-contact-list |
Test wydajności Kontaktów. |
catbox-performance-jank-media |
Testy skuteczności dla mediów. |
catbox-performance-jank-media-switch-playback |
Test wydajności odtwarzania przy przełączaniu multimediów. |
catbox-performance-jank-notifications |
Test wydajności powiadomień. |
catbox-performance-jank-settings |
Test wydajności ustawień. |
catbox-performance-switch-to-existing-user |
Zmierz czas oczekiwania przed przełączeniem się na istniejącego użytkownika. |
Uruchom test po stronie hosta na wielu urządzeniach
Wykonanie testów po stronie hosta na wielu urządzeniach korzysta z CATBoxa do uruchomienia testu
podczas jednej sesji. Przykład: 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 zainstaluje apk
, a następnie test zostanie uruchomiony we właściwym Pythonie
środowiska wykonawczego.
Sprawdzanie wyników testu CATBox
Wyniki testów funkcjonalnych i wydajności są zapisywane w
android-catbox/results/latest
Typ wyniku | Lokalizacja |
---|---|
Wyniki testu | test_result.xml |
Szczegóły testów zakończonych niepowodzeniem | test_result_failures_suite.html |
Wyniki wskaźników skuteczności | /report-log-files/CatboxPerformanceTests.reportlog.json |
Uruchomienia testów funkcjonalnych i testów wydajności | /android-catbox/logs/latest |