Przeprowadzanie testów CTS

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

Aby uruchomić plan testowy:

  1. Skonfiguruj testowane urządzenia zgodnie z Konfiguracja urządzenia z Androidem
  2. Upewnij się, że masz zainstalowane najnowsze wersje obu Android Debug Bridge (adb) oraz Narzędzie Android Asset Packaging Tool (AAPT) i dodałem lokalizację tych narzędzi do ścieżki systemowej komputera. Informacje o instalowaniu tych narzędzi znajdziesz tutaj: Konfigurowanie CTS: ADB i AAPT.
  3. Pobierz opublikowane kompilacje CTS na na hoście z systemem Linux i rozpakuj kompilację do lokalizacji hosta.
  4. Podłącz co najmniej 1 urządzenie. Aby przygotować DUT:
    • Naciśnij przycisk ekranu głównego, aby ustawić na urządzeniu ekran główny.
    • Nie używaj urządzenia DUT do innych zadań.
    • Trzymaj urządzenie DUT nieruchomo, aby uniknąć aktywowania czujnika działania.
    • Skieruj aparat urządzenia na obiekt, w którym można ustawić ostrość.
    • Nie naciskaj żadnych klawiszy na urządzeniu, gdy działa CTS. Docisk lub dotknięcie ekranu urządzenia DUT zakłóca działanie testów. i może prowadzić do błędów testu.
  5. Uruchom skrypt cts-tradefed konsoli CTS z folderu, w którym znajduje się CTS. Pakiet został rozpakowany. W powłoce wiersza poleceń hosta uruchom polecenie:

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

    cts-tradefed > run cts
    • Jeśli chcesz skrócić czas wykonywania testu, możesz: podziel testy na fragmenty na różnych urządzeniach. Fragmentacja wymaga, aby host połączył się co najmniej 2 urządzenia, ale zalecane jest co najmniej 6, aby zwiększyć wydajność. 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ę abonamentu testowego:

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

        list modules
      • W przypadku Androida 6.0 i starszych wersji listę planów testów znajdziesz w repozytorium, wpisz

        list plans
      • Aby wyświetlić listę pakietów testowych w Androidzie 6.0 i starszych repozytorium, wpisz

        list packages
    • Dodatkowe opcje poleceń w zależności od wersji CTS znajdziesz w dokumentacji dokumentacji polecenia konsoli, lub w sekcji „Pomóż wszystkim” w konsoli Tradefed.

  7. Uruchamiaj kilka sesji ponawiania prób, aż do ukończenia wszystkich modułów testowych i liczby niepowodzeń testu są takie same w ostatnich 2 sesjach ponownych prób.

    • 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 tutaj: Konsola poleceń CTS w wersji 2.

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

  8. Uruchamiaj ponawianą sesję tylko w przypadku nieudanych testów z parametrami. Zaakceptowano nie są podejmowane ponowne próby przeprowadzenia testów z parametrami.

    • W Androidzie 11 i nowszych wersjach włączona jest opcja ponawiania próby: domyślnie w poleceniu run cts:

      run retry --retry  --new-parameterized-handling
  9. Możesz wyświetlać postęp testów i ich wyniki raportowane w konsoli.

Uruchamianie 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 dostępne publicznie w Przewodnik użytkownika ATS, a jego kod jest dostępny na zasadach open source (multitest_transport, tradefed_cluster).

Uruchamianie narzędzia CTS dla trybów alternatywnych

W wersji CTS 10 R4 dostępny jest plan testów dla urządzeń z alternatywnymi trybami lub urządzeń z więcej niż 1 ekranem. Wykonaj plan testowania trybów alternatywnych, używając: run cts-foldable

Pomyślne lub niezaliczone przypadki testowe w alternatywnym trybie ekranu są oznaczone etykietą z kolumny display_mode, na przykład 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. Wykonanie testu w klastrze CTS odbywa się automatycznie na podstawie stanu zwijania wyświetlacza zdefiniowane w urządzeniu bez konieczności uruchamiania abonamentu 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 obejmuje niektóre testy obejmujące wiele urządzeń, które są aktywowane automatycznie podczas fragmentacji i zgody na określone zastosowania ich danych. Chociaż testowanie nie wymaga dodatkowych zmian w konfiguracji fizycznej, Aplikacja virtualenv musi zostać zainstalowana aby testy przebiegały prawidłowo. Więcej informacji: Więcej informacji: Wiele urządzeń Pakiety.

Testy na wielu urządzeniach

Aby przeprowadzić niezależne testy na wielu urządzeniach, 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> itd. dla liczby urządzeń kierowane.

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