Stacja testowa Androida

Android Test Station to narzędzie do testowania, którego programiści i inżynierowie testów systemu Android mogą używać do korzystania z interfejsu użytkownika do uruchamiania standardowych zestawów testów systemu Android, takich jak pakiet testów zgodności systemu Android (CTS) . To narzędzie działa jako interfejs sieciowy dla Federacji Handlowej (TF) , umożliwiając łatwe uruchomienie CTS na zestawie urządzeń testowych przy minimalnej konfiguracji, a także ustalenie harmonogramu ciągłego przeprowadzania testów.

Skonfiguruj stację testową Androida

W tej sekcji wyjaśniono, jak zainstalować i skonfigurować aplikację Android Test Station.

Android Test Station korzysta z kodu źródłowego z następujących lokalizacji:

Zainstaluj stację testową Androida

Przestrzegaj wszelkich wymagań sprzętowych i programowych dla uruchamianych zestawów testów.

Wymagania dla CTS można znaleźć na source.android.com .

Nie ma dodatkowych wymagań sprzętowych dla ATS, ale zalecamy użycie wymagań hosta CTS jako punktu wyjścia.

Istnieją dwa sposoby instalacji aplikacji Android Test Station:

Zainstaluj za pomocą programu instalacyjnego

W systemie Ubuntu 20.04+ program instalacyjny instaluje i konfiguruje wszystkie programy i zasoby potrzebne do uruchomienia aplikacji Android Test Station.

Aby skorzystać z programu instalacyjnego:

  1. Uruchom program instalacyjny:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. Uruchom mtt version , aby sprawdzić zainstalowaną wersję interfejsu CLI aplikacji Android Test Station.

Zainstaluj manualnie

Zainstaluj Dockera
  1. Postępuj zgodnie z instrukcjami instalacji Docker Community Edition (CE) na komputerze z systemem Linux.

  2. Postępuj zgodnie z instrukcjami po instalacji, aby zarządzać Dockerem jako użytkownik inny niż root .

  3. Może być konieczne ponowne uruchomienie okna terminala lub wylogowanie się i ponowne zalogowanie, aby zmiany uprawnień zaczęły obowiązywać.

Zainstaluj Pythona 3

Interfejs CLI aplikacji Android Test Station jest weryfikowany w oparciu o wersje języka Python od 3.7 do 3.10.

W przypadku Ubuntu 16.04 lub starszego najpierw dodaj repozytorium dla Pythona 3, wykonując jedną z następujących czynności:

  • Uruchom to polecenie:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • Zbuduj i zainstaluj repozytorium ze źródła .

Aby zainstalować Python 3, uruchom następujące polecenia:

sudo apt-get update
sudo apt install python3 python3-distutils

Aby zainstalować konkretną wersję Pythona 3 (na przykład 3.10), zamiast tego uruchom następujące polecenia:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

Pobierz interfejs CLI aplikacji Android Test Station

Pobierz tutaj pakiet interfejsu wiersza poleceń (CLI).

Uruchom stację testową Androida

Uruchom aplikację Android Test Station za pomocą następującego polecenia:

mtt start

Przy pierwszym uruchomieniu interfejsu użytkownika jego wyświetlenie może zająć kilka minut. Interfejs CLI wyświetla adres URL umożliwiający dostęp do interfejsu użytkownika w przeglądarce. Domyślny adres URL to localhost:8000 . W razie potrzeby możesz zmienić domyślny port po uruchomieniu za pomocą flagi --port .

Jeśli dostępna jest nowsza wersja, możesz zaktualizować ją do bieżącej wersji. Najnowsze wydania można sprawdzić w uwagach do wydania .

Aby zaktualizować do bieżącej wersji, uruchom:

mtt start --force_update

Aby zatrzymać aplikację, uruchom:

mtt stop

Aby wyświetlić listę innych poleceń, użyj:

mtt --help

Utwórz kopię zapasową i przywróć bazę danych

Aby utworzyć kopię zapasową bazy danych ATS, zatrzymaj aplikację i uruchom następujące polecenie, które utworzy kopię zapasową bieżącej bazy danych w pliku TAR o nazwie mtt-backup.tar w katalogu domowym:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."

Aby przywrócić, uruchom następujące polecenie przed uruchomieniem aplikacji:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"

Kreator konfiguracji

Po zainstalowaniu i uruchomieniu Android Test Station po raz pierwszy Kreator instalacji przeprowadzi Cię przez kilka kroków, które pomogą Ci dostosować narzędzie do Twojego środowiska. Wszelkie dokonane tutaj zmiany można później ponownie skonfigurować na stronie Ustawienia.

Przywróć kopię zapasową konfiguracji

Jeśli masz kopię zapasową pliku konfiguracyjnego z innego hosta Android Test Station, możesz przesłać plik, aby skopiować wszelkie zmodyfikowane konfiguracje z tego hosta, klikając przycisk Prześlij plik .

Przywróć kopię zapasową konfiguracji

Rysunek 1. Przywracanie kopii zapasowej konfiguracji.

Ustaw domyślne konto usługi

Możesz ustawić konto usługi , z którego domyślnie korzysta Android Test Station podczas uzyskiwania dostępu do Twoich zasobów (na przykład Google Cloud Storage, Google Drive). Aby uwierzytelnić konto usługi, kliknij Prześlij klucz konta usługi i wybierz plik klucza JSON swojego konta usługi.

Ustaw konto usługi

Rysunek 2. Ustawianie konta usługi.

Po pomyślnym uwierzytelnieniu konta usługi adres e-mail konta pojawi się w prawym górnym rogu strony. Aby zmienić konto usługi, kliknij nazwę konta, usuń bieżące konto domyślne i prześlij nowy klucz konta usługi.

Zmień konto usługi

Rysunek 3. Zmiana konta usługi.

Importuj zestawy konfiguracyjne

Zestaw konfiguracyjny to pakiet konfiguracji do uruchamiania zestawów testów, w tym powiązanych działań na urządzeniach i kanałów kompilacji. Zestawy konfiguracyjne są hostowane w określonym zasobniku Google Cloud Storage (GCS). Po uwierzytelnieniu kanału kompilacji GCS za pomocą konta Google zobaczysz listę wszystkich dostępnych zestawów konfiguracyjnych.

Wybierz dowolne zestawy konfiguracyjne, które chcesz dodać do hosta stacji testowej i kliknij opcję Importuj wybrane .

Importuj zestawy konfiguracyjne

Rysunek 4. Importowanie zestawu konfiguracyjnego.

Uwzględnij ustawienia Wi-Fi

Niektóre testy CTS wymagają połączenia urządzenia z hotspotem Wi-Fi. Aby wybrać sieć Wi-Fi, wprowadź identyfikator SSID Wi-Fi i opcjonalnie WiFi PSK .

Ustawienia wifi

Rysunek 5. Ustawienia hotspotu Wi-Fi.

Po zakończeniu działania Kreatora konfiguracji strona zostanie ponownie załadowana z zastosowanymi nowymi ustawieniami.

Podłącz urządzenie

Aby móc używać urządzenia do testowania, należy włączyć debugowanie USB. Aby włączyć debugowanie:

  1. Postępuj zgodnie z instrukcjami w sekcji Włączanie opcji programistycznych i debugowanie .

  2. Jeśli planujesz używać testowych kompilacji Androida z fabrycznie załadowanymi niestandardowymi kluczami ADB, umieść niestandardowe pliki .adb_key w katalogu ~/.android/ .

    Pliki są ładowane automatycznie i przekazywane do ADB, aby automatycznie włączyć debugowanie USB po sflashowaniu urządzenia dla urządzeń z tymi kompilacjami.

  3. Podłącz urządzenie do komputera hosta za pomocą kabla USB.

    Urządzenie pojawi się w zakładce Urządzenia Android Test Station w ciągu minuty po odświeżeniu interfejsu internetowego. Na tej zakładce możesz także sprawdzić stan urządzeń.

    Podłącz urządzenie

    Rysunek 6. Podłączanie urządzenia.

Różne stany urządzenia to:

  • Dostępne — urządzenie jest podłączone i gotowe do uruchomienia testu.
  • Przydzielone — urządzenie jest podłączone i aktualnie przeprowadza test. Każde urządzenie może uruchomić tylko jeden test na raz, dlatego urządzenie musi zakończyć bieżący test przed uruchomieniem nowego.

Uruchom test

Wybierz test

Stacja testowa systemu Android jest dostarczana z zestawem gotowych konfiguracji CTS. Aby uruchomić jeden z tych testów, przejdź do zakładki Zestawy testów i kliknij opcję Uruchom test dla żądanego testu.

Wybierz test

Rysunek 7. Wybór testu.

Aby edytować lub dodać nowe testy, zobacz Dodawanie testów .

Skonfiguruj uruchomienie testowe

Edytuj parametry, które mają być użyte w tym konkretnym przebiegu testowym. Większość parametrów jest wstępnie wypełniona wartościami zdefiniowanymi w wybranej konfiguracji testowej.

Ten krok można wykonać przy użyciu wartości domyślnych, ale możesz zmienić dowolne parametry, takie jak Maks. liczba ponownych prób i Polecenie , aby dostosować je do swoich potrzeb.

Skonfiguruj uruchomienie testowe

Rysunek 8. Konfigurowanie uruchomienia testowego.

Parametry przebiegu testowego to:

  • Nazwa — nazwa zestawu testów, który chcesz uruchomić.
  • Liczba uruchomień — liczba uruchomień tego przebiegu testowego zgodnie z harmonogramem. Przebiegi testowe są planowane za pośrednictwem Federacji Handlowej , która przeprowadza do 20 przebiegów testowych równolegle, jeśli jest taka możliwość.
  • Maksymalna liczba ponownych prób — maksymalna liczba ponownych prób uruchomienia testu, jeśli co najmniej jeden test zakończy się niepowodzeniem. Zwykle jest to ustawione na 4–6 ponownych prób dla pełnego przebiegu CTS w celu obsługi niestabilnych testów.
  • Limit czasu kolejki — jeśli przebieg testowy pozostaje w stanie kolejki zbyt długo, zostaje automatycznie anulowany. Określ tutaj czas oczekiwania przed anulowaniem. Wartość domyślna to 24 godziny.
  • Polecenie — polecenie umożliwiające uruchomienie zestawu testów. Tutaj możesz wprowadzić dodatkowe argumenty wiersza poleceń. Na przykład uruchom określony moduł w CTS 8.1 za pomocą:

    cts-suite -m ShortModuleName
    
  • Polecenie ponawiania — polecenie ponownego uruchomienia zestawu testów. Możesz tutaj dodać dodatkowe argumenty wiersza poleceń. Na przykład, aby ponowić próbę tylko określonego modułu w CTS 8.1, użyj:

    cts --retry 0 -m ShortModuleName
    

    Argumenty ponownej próby mogą różnić się od tych dostępnych w poleceniu początkowym, dlatego sprawdź obsługiwane parametry na oficjalnej stronie wybranego zestawu testów.

  • Poprzednie uruchomienie testowe — jeśli chcesz ponownie uruchomić poprzednie uruchomienie testowe:

    • Lokalnie — jeśli przebieg został uruchomiony na bieżącym hoście, wprowadź identyfikator przebiegu testowego widoczny podczas przeglądania szczegółów przebiegu testowego.

      Lokalny poprzedni przebieg testowy

      Rysunek 9. Lokalny poprzedni przebieg testu.

    • Zdalny — jeśli przebieg został uruchomiony na innym hoście, prześlij plik wyników testu, wybierając opcję Zdalny , klikając Prześlij plik wyników testu i wybierając plik z magazynu lokalnego.

      Zdalne poprzednie uruchomienie testowe

      Rysunek 10. Zdalne poprzednie uruchomienie testowe.

Wybierz urządzenia

Kliknij pola wyboru, aby wybrać urządzenia, które mają zostać przydzielone do uruchamiania zestawu testów. Liczba fragmentów powinna automatycznie zmienić się, aby odpowiadała liczbie wybranych urządzeń.

Wybierz Urządzenia

Rysunek 11. Wybór urządzeń.

Aby wybrać urządzenia według atrybutów innych niż numery seryjne, możesz ręcznie wprowadzić „Specyfikacje urządzenia”. Na przykład, aby wybrać 3 urządzenia, których nazwa produktu to „bramble”, wpisz:

product:bramble;product:bramble;product:bramble

Obsługiwane atrybuty to:

  • id_kompilacji
  • urządzenie_serial
  • rodzaj urządzenia
  • nazwa hosta
  • produkt
  • wariant_produktu
  • stan_symulatora

Aby możliwe było wykonanie uruchomienia testowego, wszystkie wybrane urządzenia muszą znajdować się w stanie Dostępne , a po wykonaniu uruchomienia testowego wszystkie przechodzą w stan Przydzielone . Uruchomienie testowe ma stan W kolejce i oczekuje na udostępnienie urządzeń.

Dodaj działania na urządzeniu

Akcje urządzenia to skrypty, które można wykonać przed każdym uruchomieniem testu. Niektóre działania urządzenia, takie jak flashowanie i ponowne uruchamianie, są już skonfigurowane. Aby utworzyć nowe akcje na urządzeniu, zobacz Tworzenie nowej akcji na urządzeniu .

Działania urządzenia

Rysunek 12. Działania urządzenia.

Aby dodać akcję urządzenia do uruchomienia testowego, kliknij Dodaj nową akcję , zaznacz pola wyboru obok akcji do dodania i kliknij Dodaj akcję . Działania urządzenia wykonywane są sekwencyjnie. Możesz zmienić kolejność czynności, przeciągając je.

Dodaj działania

Rysunek 13. Zmiana kolejności działań.

Ustaw zasoby testowe

Zasoby testowe to pliki wymagane do wykonania uruchomienia testowego. Na przykład uruchomienie CTS wymaga pliku android-cts*.zip , a flashowanie urządzenia wymaga dostarczenia obrazu kompilacji.

Adres URL pobierania pliku ZIP zestawu testów powinien domyślnie odpowiadać linkom do Dysku Google udostępnianym partnerom. Możesz wybrać inny plik, klikając Przeglądaj . W wyskakującym oknie możesz wprowadzić łącze do pobrania pliku, użyć pliku z uwierzytelnionego kanału kompilacji lub przesłać plik do użycia z magazynu lokalnego.

Zasoby testowe

Rysunek 14. Zasoby testowe.

Poniżej znajduje się wyskakujące okienko umożliwiające wybór zasobu testowego według adresu URL. Możesz po prostu wpisać link do adresu URL pobierania i kliknąć przycisk Wybierz , aby potwierdzić wybór.

Testuj selektor zasobów — adres URL sieci Web

Rysunek 15. Selektor zasobów testowych — adres URL sieci Web.

Jeśli przesłałeś zasoby do Google Grive, Google Cloud Storage (GCS) lub innych kanałów, możesz także przejść do karty konkretnego kanału i wybrać tam zasoby. Oto przykład wyboru zasobu z Dysku Google.

Testuj selektor zasobów – Dysk Google

Rysunek 16. Selektor zasobów testowych – Dysk Google.

Oprócz samego wybierania plików w polu Nazwa pliku obsługiwane są także znaki wieloznaczne. Dokumentację można znaleźć tutaj .

Selektor zasobów testowych — obsługa wzorców symboli wieloznacznych

Rysunek 17. Selektor zasobów testowych — obsługa wzorców wieloznacznych.

Możesz także wybrać plik z lokalnego magazynu plików Android Test Station. Możesz przesyłać pliki do tego magazynu lub bezpośrednio korzystać z lokalnych plików i katalogów .

Testuj selektor zasobów — lokalny magazyn plików

Rysunek 18. Selektor zasobów testowych — lokalny magazyn plików.

Dodaj konfiguracje ponownego uruchomienia

Możesz zaplanować powtórki, które rozpoczną się po zakończeniu przebiegu podstawowego i załadować jego wyniki, ale możesz użyć innego urządzenia, działań lub zasobów.

Dodaj konfiguracje ponownego uruchomienia

Rysunek 19. Dodawanie konfiguracji ponownego uruchomienia.

Rozpocznij jazdę próbną

Po wprowadzeniu informacji potrzebnych do uruchomienia testu kliknij przycisk Rozpocznij przebieg testu . Jeśli wszystkie informacje są prawidłowe, rozpocznie się przebieg testu i nastąpi przekierowanie do strony, na której można wyświetlić szczegóły i postęp przebiegu testu.

Rozpocznij pracę testową

Rysunek 20. Rozpoczynanie uruchomienia testowego.

Utwórz plan testów

Plany testów służą do tworzenia przebiegów testów według harmonogramu okresowego. Na przykład uruchamianie CTS 9.0 codziennie o 17:00. Aby utworzyć nowy plan testów, kliknij opcję Utwórz nowy plan testów .

Utwórz plan testów

Rysunek 21. Tworzenie planu testów.

Skonfiguruj plan testów

Wprowadź nazwę planu testów i wszelkie etykiety, które chcesz dodać. Następnie wybierz harmonogram, którego chcesz użyć.

  • Ręcznie — plan testów tworzy przebiegi testów tylko wtedy, gdy użytkownik kliknie opcję Uruchom plan testów na stronie z listą planów testów.
  • Okresowe — plan testów automatycznie planuje przebieg testów według wybranego harmonogramu okresowego. Na przykład zaplanowanie uruchomienia testowego codziennie o 17:00.
  • Niestandardowy — plan testów automatycznie planuje przebieg testów na podstawie wprowadzonego wyrażenia cron . Na przykład, aby zaplanować uruchomienie testowe codziennie o 17:00, wyrażenie cron ma wartość 0 17 * * * .

Skonfiguruj plan testów

Rysunek 22. Konfigurowanie planu testów.

Dodaj zestawy testów

Dodaj zestawy testów, które chcesz zaplanować w planie testów, klikając + Dodaj konfigurację przebiegu testu . Wybierz zestaw testów z listy rozwijanej Nazwa i kliknij Następny krok . Następnie wybierz urządzenia, na których chcesz przeprowadzić test i kliknij Dodaj konfigurację . Do każdego planu testów można dodać wiele konfiguracji.

Skonfiguruj uruchomienie testowe

Rysunek 23. Konfigurowanie uruchomienia testowego.

Dodaj działania na urządzeniu

Dodaj działania na urządzeniu, które chcesz wykonać przed każdym uruchomieniem testu. Aby uzyskać więcej informacji, zobacz Dodawanie akcji na urządzeniu .

Dodaj akcje urządzenia

Rysunek 24. Dodawanie akcji na urządzeniu.

Ustaw zasoby testowe

Dodawanie zasobów testowych do planów testów jest równoznaczne z dodawaniem ich do poszczególnych przebiegów testów. Aby uzyskać więcej informacji, zobacz Ustawianie zasobów testowych .

Ustaw zasoby testowe

Rysunek 25. Ustawianie zasobów testowych.

Zobacz przebiegi testowe

Lista uruchomień testowych

Wyświetl listę zaplanowanych przebiegów testowych na stronie Przebiegi testowe. Kliknij opcję Wyświetl , aby wyświetlić więcej szczegółów na temat przebiegu testowego.

Możesz także filtrować listę, wpisując ciąg znaków w pasku filtra i naciskając klawisz Enter . Możesz użyć wielu filtrów, oddzielając je przecinkiem. Filtr zwraca wszystkie wiersze zawierające dokładny tekst (bez dopasowania podciągu) w dowolnej kolumnie, z wyjątkiem Status i Created .

Pusty filtr zwraca wszystkie wiersze. Obecnie nie ma możliwości filtrowania wierszy z pustymi wartościami.

Lista uruchomień testowych

Rysunek 26. Lista uruchomień testowych.

Szczegóły przebiegu testowego

Tutaj możesz wyświetlić szczegóły przebiegu testu, takie jak stan, dzienniki i wyniki.

Szczegóły przebiegu testowego

Rysunek 27. Szczegóły przebiegu testowego.

Stan uruchomienia testowego

Postęp uruchomienia testowego jest pokazany w sekcji Status. Jeśli pojawi się powiązany komunikat, na przykład dotyczący postępu pobierania, przyczyny anulowania lub komunikatu o błędzie, zostanie on również wyświetlony tutaj.

Stan uruchomienia testowego

Rysunek 28. Stan uruchomienia testu.

Stany przebiegu testu to:

  • Oczekujące — pobierane są wymagane zasoby.
  • W kolejce — test jest gotowy do uruchomienia, gdy urządzenie stanie się dostępne.
  • Uruchomiony — test jest uruchomiony na przydzielonym urządzeniu.
  • Ukończony — test został zakończony i zaprezentowano jego wyniki.
  • Anulowany — test został anulowany przez użytkownika lub upłynął limit czasu podczas próby znalezienia dostępnych urządzeń.
  • Błąd — wystąpił błąd, który uniemożliwił uruchomienie testu.

Anuluj uruchomienie testowe

Jeśli uruchomienie testowe nie zostało zakończone, możesz je anulować, klikając Anuluj , a następnie klikając Tak w oknie dialogowym potwierdzenia. Przebiegi testowe są również automatycznie anulowane, jeśli pozostają w stanie W kolejce dłużej niż pole kolejka_timeout_sekundy . Anulowanie uruchomienia testowego w stanie Uruchomiony może zająć kilka minut.

Anuluj uruchomienie testowe

Rysunek 29. Anulowanie uruchomienia testowego.

Wyniki testu

Po zakończeniu przebiegu testowego wyniki są gromadzone i wyświetlane. Dodatkowe szczegóły można wyświetlić, klikając strzałkę obok każdego uruchomienia. Kliknij opcję Wyświetl pliki wyjściowe, aby wyświetlić zebrane artefakty testowania, takie jak test_result.xml i test_result_failures.html .

Wyniki testu

Rysunek 30. Wyniki przebiegu testowego.

Możesz przeglądać logi hosta na żywo i logi Tradefed na karcie Dzienniki.

Dzienniki przebiegu testowego

Rysunek 31. Zakładka Logi.

Wyniki dla poszczególnych modułów znajdują się w zakładce Wyniki Testów.

Zakładka Wyniki testu

Rysunek 32. Zakładka Wyniki testu.

Pliki używane jako zasoby testowe można pobrać, klikając opcję Otwórz na karcie Zasoby testowe.

Karta Zasoby testowe

Rysunek 33. Zakładka Zasoby testowe.

Aby zobaczyć szczegóły przebiegu testu, takie jak czas_tworzenia , przejdź do zakładki Konfiguracja.

Zakładka Konfiguracja testowa

Rysunek 34. Zakładka Konfiguracja.

Zaawansowane funkcje

Zarządzaj plikami konfiguracyjnymi

Android Test Station używa plików konfiguracyjnych napisanych w YAML do ładowania predefiniowanych opcji, takich jak testy, kanały budowania i akcje urządzenia. Poniżej pokazano przykładowy plik konfiguracyjny niektórych opcji.

// example_file.yaml
tests:
- id : android.cts.9_0.arm
  name: CTS 9.0 (ARM)
  test_resource_defs:
  - name: android-cts.zip
    default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
    test_resource_type: TEST_PACKAGE
  command: cts
  env_vars:
  - name: TF_PATH
    value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
  - name: LD_LIBRARY_PATH
    value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
  setup_scripts:
  output_file_patterns:
  - android-cts/logs/latest/.*
  - android-cts/results/latest/.*\.html
  - android-cts/results/latest/compatibility_result\..*
  - android-cts/results/latest/logo.png
  - android-cts/results/latest/test_result.xml
  result_file: test_result.xml
  java_properties:
  - name: CTS_ROOT
    value: ${TF_WORK_DIR}
  context_file_dir: android-cts/results/
  context_file_pattern: '[\d_\.]+\.zip'
  retry_command_line: retry --retry 0
  runner_sharding_args: --shard-count ${TF_SHARD_COUNT}

build_channels:
- id: google_drive
  name: Google Drive
  provider_name: Google Drive

device_actions:
- id: flash
  name: Flash
  test_resource_defs:
  - name: bootloader.img
    test_resource_type: DEVICE_IMAGE
  - name: radio.img
    test_resource_type: DEVICE_IMAGE
  - name: img.zip
    test_resource_type: DEVICE_IMAGE
  tradefed_target_preparers:
  - class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
    option_values:
    - name: work-dir
      values:
      - ${TF_WORK_DIR}
    - name: host-setup-command
      values:
      - adb -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL flash bootloader bootloader.img
      - fastboot -s $SERIAL flash radio radio.img
      - fastboot -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL -w update img.zip
      - adb -s $SERIAL wait-for-device
    - name: host-cmd-timeout
      values:
      - 10m

Po skonfigurowaniu instancji Android Test Station możesz udostępnić swoją konfigurację innym użytkownikom, eksportując ją jako plik. Aby to zrobić, przejdź do strony Ustawienia i kliknij Eksportuj w prawym górnym rogu.

Konfiguracja zarządzania plikami

Rysunek 35. Zarządzanie plikami konfiguracyjnymi.

Po pobraniu pliku konfiguracyjnego udostępnij go innym użytkownikom. Mogą dodać plik konfiguracyjny do swojej instancji Android Test Station, klikając Importuj i wybierając plik konfiguracyjny.

Utwórz nową akcję urządzenia

Akcje urządzenia służą do automatyzacji procesu konfiguracji urządzenia. Akcje to skrypty wykonywane na każdym urządzeniu, na którym uruchamiany jest test, przed każdym uruchomieniem testu, w tym przed ponowną próbą. Aby wyświetlić listę dostępnych działań na urządzeniu, przejdź do strony Ustawienia i kliknij kartę Działania na urządzeniu. Kilka działań na urządzeniu jest już skonfigurowanych, takich jak ponowne uruchomienie i flashowanie.

Karta Działania urządzenia

Rysunek 36. Karta Działania urządzenia.

Dodaj nową akcję urządzenia

  1. Kliknij opcję Nowe działanie na urządzeniu .

    Przycisk akcji nowego urządzenia

    Rysunek 37. Przycisk akcji nowego urządzenia.

  2. Wprowadź nazwę i opis.

    Nazwa akcji urządzenia

    Rysunek 38. Nazwa akcji urządzenia.

  3. Kliknij opcję Dodaj narzędzie przygotowujące cel .

  4. Wprowadź pełną nazwę klasy narzędzia do przygotowywania obiektów docelowych Federacji Handlowej , na przykład com.android.tradefed.targetprep.RunHostCommandTargetPreparer .

    Dodaj narzędzie przygotowujące cel

    Rysunek 39. Dodawanie modułu przygotowującego target.

    Listę dostępnych narzędzi do przygotowywania celów można znaleźć w dokumentacji com.android.tradefed.targetprep .

    Lista przygotowująca cele

    Rysunek 40. Lista osób przygotowujących cel.

  5. Dodaj dowolne opcje do użycia z modułem przygotowującym elementy docelowe. Aby wyświetlić dostępne opcje, sprawdź targetprep pod kątem kodu źródłowego każdego narzędzia przygotowującego target w AOSP:

    Przykład opcji akcji

    Rysunek 41. Przykład opcji akcji.

  6. Aby dodać opcję, kliknij opcję Dodaj opcję przygotowania elementu docelowego i wprowadź wymagane wartości.

    Przykład polecenia akcji

    Rysunek 42. Przykład polecenia akcji.

  7. Zdefiniuj zasoby testowe, które są potrzebne do wykonania akcji urządzenia, na przykład zbuduj obrazy do flashowania. Aby dodać definicję zasobu, kliknij Dodaj zasób testowy i wypełnij wymagane pola. Jeśli wiesz, gdzie znajdują się Twoje pliki, możesz podać domyślny adres URL pobierania, klikając Przeglądaj . Jeśli osoby przygotowujące elementy docelowe akceptują katalog jako zasób testowy, wybierz opcję Dekompresuj . Następnie określ względny katalog docelowy w tymczasowym katalogu roboczym i nazwy plików do dekompresji. Jeśli nie podano nazw plików, dekompresowane są wszystkie pliki z zasobu testowego.

    Zasoby dotyczące testów akcji

    Rysunek 43. Zasoby testów akcji.

  8. Kliknij Aktualizuj .

    Akcja Zapisz zmiany

    Rysunek 44. Akcja zapisz zmiany.

Zarządzaj testami

Edytuj test

Aby edytować zapisany test, przejdź do strony Testy i kliknij Edytuj w wierszu testu, który chcesz zmodyfikować. Po zmianie konfiguracji testowej kliknij Aktualizuj .

Edytuj test

Rysunek 45. Edycja testu.

Dodaj nowy test

Aby dodać nowy test, przejdź do strony Testy i kliknij Utwórz nowy test . Wprowadź odpowiednie informacje i kliknij Utwórz .

Utwórz test

Rysunek 46. Tworzenie testu.

Skopiuj test

Rysunek 47. Kopiowanie testu.

Eksportuj konfiguracje hosta

Po skonfigurowaniu hosta możesz wyeksportować konfiguracje hosta do pliku. Możesz przesłać ten plik na inne hosty, aby skopiować zapisane konfiguracje.

Aby wyeksportować konfiguracje hosta, przejdź do strony Ustawienia i kliknij Eksportuj w prawym górnym rogu.

Eksportowanie konfiguracji hosta

Rysunek 48. Eksportowanie konfiguracji hosta.

Aby zaimportować plik konfiguracyjny hosta, przejdź do strony Ustawienia i kliknij Importuj w prawym górnym rogu.

Importowanie konfiguracji hosta

Rysunek 49. Importowanie konfiguracji hosta.

Użyj lokalnych plików i katalogów

Począwszy od wersji R11, pliki w katalogu $HOME/.ats_storage są automatycznie dostępne w Android Test Station. Skopiuj lub przenieś plik do tego katalogu, a następnie wybierz go z karty Plik lokalny podczas planowania uruchomienia testowego.

cp /path/to/file $HOME/.ats_storage

Wybieranie pliku lokalnego

Rysunek 50. Wybieranie pliku z katalogu $HOME/.ats_storage .

Możesz zamontować dodatkowe katalogi w lokalnym magazynie plików za pomocą flagi --mount_local_path .

mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

Dodatkowe zamontowane katalogi

Rysunek 51. Dodatkowe katalogi zamontowane w lokalnym magazynie plików.

Włącz tryb wielu hostów

W trybie wielu hostów użytkownicy mogą używać jednego hosta kontrolera ATS do zarządzania urządzeniami i testami na wielu hostach roboczych ATS.

Architektura trybu wielu hostów

Rysunek 52. Architektura w trybie wielu hostów.

  1. Aby uruchomić kontroler ATS należy użyć komendy:

    mtt start --operation_mode=ON_PREMISE
    
  2. Sprawdź, czy kontroler jest dostępny pod adresem http://${CONTROLLER_HOSTNAME}:8000 .

  3. Aby uruchomić procesy robocze, użyj następującego polecenia:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

Jeśli Twoja sieć nie pozwala hostom komunikować się między sobą, musisz postępować zgodnie z bardziej zaawansowanymi instrukcjami konfiguracji poniżej dotyczącymi pracownika ATS.

  1. Połącz dwa hosty za pomocą tuneli SSH. Wybierz porty dla portów podstawowych i serwera plików, na przykład 9000 i 9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. Skonfiguruj i uruchom ATS.

    DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
    socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
    socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
    mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \
                    --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \
                    --operation_mode=ON_PREMISE
    

Oczyszczacz plików

Narzędzie do czyszczenia plików to zadanie cron uruchamiane co godzinę w celu czyszczenia plików na podstawie konfiguracji zdefiniowanych przez użytkownika. ATS ma dwie domyślne konfiguracje archiwizacji wyników testów i usuwania plików tymczasowych. W tym przewodniku wyjaśniono, jak dostosować zasady i konfiguracje, aby skutecznie zarządzać plikami.

Zasady

Polityka definiuje operację, która ma być wykonana na plikach lub katalogach, oraz kryteria wyboru celów. Dostępne operacje przedstawiono w tabeli:

Typ operacji Parametry
ARCHIVE remove_file : Jeśli true , usuń plik po archiwizacji.
DELETE

Kryteria opierają się na atrybutach plików i informacjach o systemie. Dostępne kryteria przedstawiono w tabeli:

Typ kryterium Opis Parametry
LAST_MODIFIED_TIME Filtruj pliki na podstawie daty i godziny ostatniej modyfikacji. ttl : Obsługiwane są różne rodzaje wyrażeń czasu, na przykład 10m , 2h , 7 days , 4w . Zobacz pytimeparse dla obsługiwanych formatów.
LAST_ACCESS_TIME Filtruj pliki na podstawie daty i godziny ostatniego dostępu. To samo co LAST_MODIFIED_TIME .
NAME_MATCH Filtruj pliki na podstawie ich nazwy za pomocą wyrażeń regularnych. pattern : Wyrażenie regularne, na przykład [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip do dopasowania zamki wynikowe.
SYSTEM_AVAILABLE_SPACE Uruchamiaj akcje w oparciu o dostępną przestrzeń w systemie. threshold : Wyzwala działanie, gdy dostępne miejsce spadnie poniżej progu, na przykład 200 (B), 200KB , 200MB , 200GB , 2TB .

Nowa polityka czyszczenia plików

Rysunek 53. Dodaj nową politykę czyszczenia plików.

Konfiguracje

Konfiguracja łączy jedną lub więcej zasad z określonymi katalogami. Pliki i katalogi znajdujące się w określonych katalogach są przetwarzane w oparciu o zdefiniowane zasady. Zasady są stosowane w kolejności, w jakiej pojawiają się w konfiguracji.

Wszystkie katalogi docelowe muszą znajdować się w katalogu /data . Jeśli Twoja konfiguracja określa katalog docelowy jako logs , jest on interpretowany jako /data/logs .

Edytuj konfigurację czyszczenia plików

Rysunek 54. Edytuj konfigurację narzędzia do czyszczenia plików.

Resetowanie

Kliknięcie Resetuj ustawienia przywraca konfigurację narzędzia do czyszczenia plików do stanu domyślnego. Ta akcja usuwa WSZYSTKIE elementy niestandardowe.

Zresetuj ustawienia czyszczenia plików

Rysunek 55. Resetuj ustawienia czyszczenia plików.

Wsparcie

Zgłaszanie błędów

Twój wkład w Android Test Station pomaga ulepszyć rozwój narzędzia i czekamy na Twój wkład! Szczegółowe informacje na temat najnowszej wersji znajdują się w uwagach do wydania ATS . Aby zgłosić błędy lub zaproponować sugestie, złóż raport o błędzie . Partnerzy powinni zgłaszać błędy lub sugestie za pośrednictwem swoich kanałów partnerskich.