Testy motoryzacyjne w pudełku

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.

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:

  1. Wybierz miejsce docelowe na podstawie architektury urządzenia i uruchom to polecenie:

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

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:

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

  2. Podłącz co najmniej 1 urządzenie i przygotuj urządzenie w trakcie testowania jako następujące:

    1. Aby przywrócić urządzenie samochodowe do ustawień fabrycznych, wejdź na Ustawienia > System > Opcje resetowania > Usuń wszystkie dane.

    2. Poczekaj, aż urządzenie automatycznie uruchomi się ponownie.

    3. Sprawdź, czy narzędzie adb jest włączone. Aby sprawdzić, czy urządzenie jest dostępne, uruchom to polecenie:

      adb devices
      
    4. Aby włączyć dostęp roota, uruchom to polecenie:

      adb -s DEVICE_SERIAL root
      

      Zastąp DEVICE_SERIAL identyfikatorem seryjnym do samochodu.

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