Przeprowadzanie testów CTS

Trade Federation to platforma do ciągłego testowania na urządzeniach z Androidem. Aby uruchomić pakiet Compatibility Test Suite (CTS), najpierw przeczytaj Przegląd federacji handlowej i omówienie platformy testów Tradefed.

Aby uruchomić testowany plan:

  1. Skonfiguruj testowane urządzenia zgodnie z Konfiguracja urządzenia z Androidem
  2. Upewnij się, że masz zainstalowane najnowsze wersje narzędzi Android Debug Bridge (adb)Android Asset Packaging Tool (AAPT) oraz że dodałaś/dodałeś ich lokalizację do ścieżki systemowej komputera. Informacje o instalowaniu tych narzędzi znajdziesz w artykule Konfigurowanie CTS: ADB i AAPT.
  3. Pobierz kompilacje CTS na komputer hosta z systemem Linux i rozpakuj kompilację w miejscu hosta.
  4. Połącz co najmniej 1 urządzenie. Aby przygotować DUT:
    • Naciśnij przycisk Home, aby otworzyć ekran główny.
    • Nie używaj urządzenia DUT do innych zadań.
    • Utrzymaj DUT w stanie nieruchomym, aby uniknąć aktywacji czujnika.
    • Skieruj aparat urządzenia na obiekt, w którym można ustawić ostrość.
    • Nie naciskaj żadnych klawiszy na urządzeniu, gdy działa CTS. Naciśnięcie klawiszy lub dotknięcie ekranu badanego urządzenia zakłóca przeprowadzane testy i może spowodować ich niepowodzenie.
  5. Uruchom skrypt cts-tradefed konsoli CTS z folderu, w którym rozpakowano pakiet CTS. W powłoce wiersza poleceń hosta uruchom polecenie:

    ./android-cts/tools/cts-tradefed
  6. Uruchom domyślny plan testów (zawiera wszystkie pakiety testów):

    cts-tradefed > run cts
    • Jeśli chcesz skrócić czas wykonywania testu, możesz: podziel testy na fragmenty na różnych urządzeniach. Aby użyć funkcji dzielenia, host musi połączyć co najmniej 2 urządzenia, ale dla większej wydajności zalecamy użycie co najmniej 6 urządzeń. Podczas fragmentowania więcej niż 1 urządzenia:

      • W Androidzie 9 i nowszych użyj opcji polecenia

        --shard-count number_of_shards
      • W Androidzie 8.1 i starszych użyj opcji polecenia

        --shards number_of_shards
    • Jeśli nie chcesz uruchamiać całego zestawu testów, możesz użyć wybrany abonament CTS. wiersz poleceń:

      run cts --plan test_plan_name

      Aby znaleźć nazwę planu testu:

      • Aby wyświetlić listę modułów testowych w Androidzie 7.0 lub nowszym, wpisz

        list modules
      • Aby zobaczyć listę planów testów w przypadku Androida 6.0 i starszych wersji w repozytorium, wpisz

        list plans
      • W przypadku Androida 6.0 lub starszego, aby wyświetlić listę pakietów testowych w archiwum, wpisz

        list packages
    • Aby uzyskać więcej informacji o dodatkowych opcjach poleceń w zależności od wersji CTS, zapoznaj się z przewodnikiem po poleceniach konsoli lub wybierz „Help all” (Pomoc wszystkim) w konsoli Tradefed.

  7. Przeprowadź kilka sesji ponownego próbowania, aż wszystkie moduły testów zostaną ukończone, a liczby błędów testów będą takie same w przypadku 2 ostatnich sesji ponownego próbowania.

    • W przypadku Androida 9 lub nowszego użyj

      run retry --retry session_number --shard-count number_of_shards
    • W przypadku Androida 7.0–8.1 użyj

      run cts --retry session_number --shards number_of_shards
    • Aby uzyskać więcej opcji polecenia Retry w zależności od wersji CTS, zobacz konsolę poleceń CTS 2.

    • Szczegółowe informacje o implementacji ponownych prób w CTS znajdziesz w tych artykułach: Ponowienie próby w ramach pakietu federacji handlu detalicznego.

  8. Uruchom sesję ponownego testowania tylko w przypadku nieudanych testów parametrycznych. Testy parametryczne, które zakończyły się powodzeniem, nie są ponownie wykonywane.

    • W przypadku Androida 11 i nowszych ta opcja jest domyślnie włączona w poleceniu run cts:

      run retry --retry  --new-parameterized-handling
  9. sprawdzać postępy testu i jego wyniki w konsoli;

Uruchomienie CTS za pomocą Android Test Station

Stacja Android Test Station to narzędzie do automatyzacji testowej, które jest testowane przez deweloperów aplikacji na Androida inżynierowie mogą wykorzystać interfejs użytkownika do przeprowadzania standardowych testów, i apartamenty. Działa z pakietem Android Compatibility Test Suite (CTS).

Narzędzie jest publicznie dostępne w przewodniku użytkownika ATS, a jego kod jest udostępniony w AOSP (multitest_transport, tradefed_cluster).

Uruchamianie CTS w trybach alternatywnych

Wersja CTS 10 R4 zawiera plan testów dla urządzeń z trybami alternatywnymi lub z większą liczbą ekranów. Wykonaj plan testowania trybów alternatywnych, używając: run cts-foldable

Przypadki testowe, które zakończyły się powodzeniem lub niepowodzeniem w trybie alternatywnego ekranu, są dołączane z wartością z display_mode, np. testcase1[display_mode=0].

W wersji CTS 13 interfejs API DeviceStateManager zezwala na moduły testowe z następującymi do uruchamiania na różnych stanach urządzenia składanego. Testy są przeprowadzane automatycznie w CTS na podstawie stanów składania wyświetlacza zdefiniowanych na urządzeniu bez potrzeby uruchamiania planu testowego cts-foldable.

<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />

Testowanie na wielu urządzeniach w CTS

Android 13 i nowsze wersje obsługują testowanie na wielu urządzeniach. Testy, które wymagają automatycznego wykonywania wielu urządzeń podczas uruchamiania CTS. CTS 13 zawiera kilka testów na wielu urządzeniach, które są uruchamiane automatycznie podczas stosowania podziału. Testowanie nie wymaga wprowadzania dodatkowych zmian w konfiguracji fizycznej, ale aby testy przebiegały prawidłowo, musisz zainstalować virtualenv. Więcej informacji: zobacz Pakiety obejmujące wiele urządzeń.

Testy na wielu urządzeniach

Aby przeprowadzić testowanie na wielu urządzeniach niezależnie, użyj tego kodu:

  cts-tradefed > run cts-multidevice
  

Obsługiwane są wszystkie standardowe opcje. Aby kierować reklamy na określone urządzenia, dodaj --serial <serial1> --serial <serial2> i tak dalej, odpowiednio do liczby urządzeń, na które chcesz kierować reklamy.

Aby automatycznie aktywować testy na wielu urządzeniach, użyj fragmentacji, jak w zasadzie --shard-count 2.