Przeprowadzanie testów CTS

Trade Federation to platforma ciągłych testów do przeprowadzania testów na urządzeniach z Androidem. Aby uruchomić pakiet CTS (Compatibility Test Suite), zapoznaj się najpierw z omówieniem federacji handlowej, gdzie znajdziesz informacje na temat platformy testów Tradefed.

Aby uruchomić testowany plan:

  1. Skonfiguruj urządzenia testowe zgodnie z konfiguracją 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, który można ustawić w ognisku.
    • Podczas uruchamiania CTS nie naciskaj żadnych przycisków na urządzeniu. 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 podzielić testy na wiele urządzeń. Fragmentacja wymaga od hosta połączenia co najmniej 2 urządzeń, ale zalecane jest 6 lub więcej urządzeń ze względu na wydajność. Podczas fragmentowania więcej niż 1 urządzenia:

      • W Androidzie 9 i nowszych użyj opcji polecenia

        --shard-count number_of_shards
      • W przypadku Androida 8.1 lub starszych wersji użyj opcji polecenia.

        --shards number_of_shards
    • Jeśli nie chcesz uruchamiać całego zestawu testów, możesz uruchomić wybrany plan CTS z poziomu wiersza 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 wyświetlić listę planów testów w archiwum, w przypadku Androida 6.0 lub starszych wersji wpisz

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

        list packages
    • Dodatkowe opcje poleceń w zależności od wersji CTS znajdziesz w dokumentacji poleceń konsoli lub w sekcji „help all” w konsoli Tradefed.

  7. Przeprowadź kilka sesji ponownego próbowania, aż wszystkie moduły testów zostaną ukończone i liczba błędów testu będzie taka sama w ostatnich 2 sesjach 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
    • Dodatkowe opcje polecenia Ponów w zależności od wersji CTS znajdziesz w konsoli poleceń CTS w wersji 2.

    • Szczegółowe informacje o wdrożeniu ponownego próbowania CTS znajdziesz w artykule Ponowne próbowanie w Trade Federation Suite.

  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 Androidzie 11 i nowszych w poleceniu run cts domyślnie włączona jest ta opcja ponawiania:

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

Uruchamianie CTS za pomocą Android Test Station

Android Test Station to narzędzie do automatyzacji testów, którego deweloperzy i inżynierowie testów Androida mogą używać do uruchamiania standardowych zestawów testów za pomocą interfejsu użytkownika. Działa z pakietem testów zgodności Androida (Compatibility Test Suite).

Narzędzie jest dostępne publicznie w przewodniku użytkownika ATS, a jego kod jest dostępny na zasadach open source w AOSP (multitest_transport, tradefed_cluster).

Uruchamianie narzędzia CTS dla trybów 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 za pomocą 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 API umożliwia uruchamianie modułów testowych z poniższą opcją konfiguracji na różnych stanach urządzenia składanego. Testy są wykonywane 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ą wielu urządzeń, są automatycznie wykonywane podczas testu CTS. CTS 13 zawiera kilka testów na wielu urządzeniach, które są uruchamiane automatycznie podczas stosowania podziału. Testowanie nie wymaga dodatkowych zmian w konfiguracji fizycznej, ale aby testy przebiegały prawidłowo, trzeba zainstalować aplikację virtualenv. Więcej informacji znajdziesz w artykule o pakietach obejmujących wiele urządzeń.

Wykonywanie testów 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 uruchamiać testy na wielu urządzeniach, użyj podziału, jak w --shard-count 2.