Stacja testowa OmniLab

OmniLab ATS to narzędzie do testowania, którego deweloperzy i inżynierowie testów Androida mogą używać do uruchamiania standardowych pakietów testów Androida, takich jak Compatibility Test Suite (CTS). To narzędzie działa jako interfejs internetowy dla różnych ram testów, takich jak Trade Federation (TF)Google Mobly. Umożliwia ono uruchamianie testów CTS i testów na wielu urządzeniach na zestawie urządzeń testowych z minimalną konfiguracją, a także ustalanie harmonogramu ciągłego testowania.

Konfigurowanie usługi OmniLab ATS

W tej sekcji opisaliśmy, jak zainstalować i skonfigurować OmniLab ATS.

OmniLab ATS używa kodu źródłowego z tych lokalizacji:

Instalowanie OmniLab ATS

Przestrzegaj wymagań sprzętowych i programowych dotyczących pakietów testów, które uruchamiasz.

Wymagania dotyczące CTS znajdziesz na stronie source.android.com.

OmniLab ATS nie ma dodatkowych wymagań sprzętowych, ale zalecamy sprawdzenie wymagań hosta CTS.

Istnieją 2 sposoby instalacji OmniLab ATS:

Instalowanie za pomocą programu instalacyjnego

W Ubuntu 20.04 lub nowszym program instalatora instaluje i konfiguruje wszystkie programy oraz zasoby potrzebne do działania OmniLab ATS.

Aby skorzystać z programu instalowania:

  1. Uruchom instalator:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. Uruchom mtt version, aby sprawdzić zainstalowaną wersję interfejsu wiersza poleceń OmniLab ATS.

Instalacja ręczna

Instalowanie Dockera
  1. Wykonaj instrukcje instalacji Docker Community Edition (CE) na komputerze z Linuksem.

  2. Wykonaj czynności po instalacji, aby zarządzać Dockerem jako użytkownik inny niż root.

  3. Aby zmiany w uprawnieniach zaczęły obowiązywać, może być konieczne ponowne uruchomienie okna terminala lub wylogowanie się i ponowne zalogowanie.

Instalowanie Pythona 3

Narzędzie wiersza poleceń OmniLab ATS zostało zweryfikowane w przypadku wersji Pythona od 3.7 do 3.11.

W przypadku Ubuntu 16.04 lub starszych najpierw dodaj repozytorium Pythona 3, wykonując jedną z tych czynności:

  • Uruchom to polecenie:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • Utwórz i zainstaluj repozytorium z poziomu źródła.

Aby zainstalować Pythona 3, uruchom te polecenia:

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

Aby zainstalować konkretną wersję Pythona 3 (np. 3.10), uruchom zamiast tego te polecenia:

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

Pobieranie interfejsu wiersza poleceń OmniLab ATS

Pobierz pakiet interfejsu wiersza poleceń tutaj.

Uruchamianie OmniLab ATS

Uruchom OmniLab ATS za pomocą tego polecenia:

mtt start

Po pierwszym uruchomieniu interfejsu może minąć kilka minut, zanim się wyświetli. Interfejs wiersza poleceń wyświetla adres URL strony internetowej, aby uzyskać dostęp do interfejsu w przeglądarce. Domyślny adres URL strony internetowej to localhost:8000. W razie potrzeby możesz zmienić domyślny port podczas uruchamiania za pomocą parametru --port.

Jeśli jest dostępna nowsza wersja, możesz zaktualizować ją do bieżącej wersji. Najnowsze wersje znajdziesz w informacjach o wersji.

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

Tworzenie kopii zapasowej bazy danych i przywracanie jej

Aby utworzyć kopię zapasową bazy danych OmniLab ATS, zatrzymaj aplikację i uruchom to 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 to 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 OmniLab ATS po raz pierwszy kreator konfiguracji przeprowadzi Cię przez kilka kroków, aby pomóc Ci dostosować narzędzie do Twojego środowiska. Wprowadzone tutaj zmiany można później zmienić na stronie Ustawienia.

Przywracanie kopii zapasowej konfiguracji

Jeśli masz kopię zapasową pliku konfiguracyjnego z innego hosta OmniLab ATS, możesz przesłać ten plik, aby skopiować zmodyfikowane konfiguracje z tego hosta. Aby to zrobić, kliknij przycisk Prześlij plik.

Przywracanie kopii zapasowej konfiguracji

Rysunek 1. Przywracanie kopii zapasowej konfiguracji.

Ustawianie domyślnego konta usługi

Możesz ustawić konto usługi, którego OmniLab ATS używa domyślnie podczas uzyskiwania dostępu do Twoich zasobów (np. Google Cloud Storage czy Dysku Google). Aby uwierzytelnić konto usługi, kliknij Prześlij klucz konta usługi i wybierz plik klucza JSON konta usługi.

Ustaw konto usługi

Rysunek 2. Konfigurowanie konta usługi.

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

Zmień konto usługi

Rysunek 3. Zmiana konta usługi.

Importowanie zestawów konfiguracji

Zestaw konfiguracji to pakiet konfiguracji do uruchamiania zestawów testów, w tym powiązanych działań na urządzeniu i kanałów kompilacji. Zestawy konfiguracji 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 dla Ciebie zestawów konfiguracji.

Wybierz zestawy konfiguracji, które chcesz dodać do hosta stacji testowej, i kliknij Importuj wybrane.

Importowanie zestawów konfiguracji

Rysunek 4. importowanie zestawu konfiguracji.

Uwzględnij ustawienia Wi-Fi

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

Ustawienia Wi-Fi

Rysunek 5. Ustawienia hotspotu Wi-Fi.

Po zakończeniu pracy kreatora konfiguracji strona zostanie ponownie załadowana z nowymi ustawieniami.

Połącz urządzenie

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

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

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

    Pliki są wczytywane automatycznie i przekazywane do ADB, aby automatycznie włączyć debugowanie przez USB po przeflashowaniu urządzenia.

  3. Połącz urządzenie z hostem za pomocą kabla USB.

    Urządzenie pojawi się na karcie Urządzenia ATS w OmniLab w ciągu minuty od odświeżenia interfejsu internetowego. Na tej karcie możesz też sprawdzić stan urządzeń.

    Łączenie urządzenia

    Rysunek 6. Podłączanie urządzenia.

Różne stany urządzenia:

  • Dostępny – urządzenie jest połączone i gotowe do przeprowadzenia testu.
  • Wydzielone – urządzenie jest połączone i przeprowadza test. Każde urządzenie może wykonywać tylko jeden test naraz, więc musi ukończyć bieżący test, zanim wykona nowy.

Rozpoczynanie testowania

Wybieranie testu

OmniLab ATS jest dostarczany z zestawem wstępnie skonfigurowanych konfiguracji CTS. Aby uruchomić jeden z tych testów, kliknij kartę Zestawy testów i wybierz test, a następnie kliknij Uruchom test.

Wybieranie testu

Rysunek 7. Wybieranie testu

Aby edytować lub dodawać nowe testy, zapoznaj się z artykułem Dodawanie testów.

Konfigurowanie testu

Edytuj parametry, których chcesz użyć na potrzeby tego konkretnego uruchomienia testu. Większość parametrów jest wstępnie wypełniona wartościami zdefiniowanymi w wybranej konfiguracji testu.

Możesz użyć domyślnych wartości, ale możesz też zmienić dowolny z parametrów, np. Maks. liczbę próbPolecenie, aby dostosować je do swoich potrzeb.

.

Konfigurowanie testu

Rysunek 8. Konfigurowanie testu.

Parametry testu to:

  • Nazwa – nazwa zestawu testów, który chcesz uruchomić.
  • Liczba uruchomień – liczba uruchomień tego testu w ramach harmonogramu. Testy są planowane za pomocą Federacji Handlu, która przeprowadza do 20 testów równolegle, jeśli pozwala na to dostępna moc obliczeniowa.
  • Maks. powtórzeń – maksymalna liczba prób ponownego uruchomienia testu, jeśli co najmniej 1 test się nie powiedzie. Zwykle jest to ustawione na 4–6 powtórzonych prób w przypadku pełnego uruchomienia CTS w celu obsługi testów niestabilnych.
  • Limit czasu kolejki – jeśli test pozostaje zbyt długo w stanie W kolejce, zostaje automatycznie anulowany. Tutaj określ czas oczekiwania przed anulowaniem. Domyślnie są to 24 godziny.
  • Polecenie – polecenie do uruchamiania zestawu testów. Tutaj możesz wpisać dodatkowe argumenty wiersza poleceń. Na przykład możesz uruchomić konkretny moduł w CTS 8.1:

    cts-suite -m ShortModuleName
    
  • Polecenie ponownego próbowania – polecenie ponownego próbowania zestawu testów. Tutaj możesz dodać dodatkowe argumenty wiersza poleceń. Aby na przykład ponownie przetestować tylko konkretny moduł w CTS 8.1, użyj:

    cts --retry 0 -m ShortModuleName
    

    Argumenty ponownego próbowania mogą się różnić od tych dostępnych w pierwotnym poleceniu. Sprawdź obsługiwane parametry na oficjalnej stronie wybranego zestawu testów.

  • Poprzednie uruchomienie testu – jeśli chcesz ponownie uruchomić poprzedni test:

    • Lokalny – jeśli test został uruchomiony na bieżącym hoście, wpisz identyfikator testu widoczny po wyświetleniu szczegółów testu.

      Poprzedni lokalny test

      Rysunek 9. Lokalny poprzedni test.

    • Zdalne – jeśli uruchomiono test na innym hoście, prześlij plik z wynikami testu. Aby to zrobić, kliknij Zdalne, a następnie Prześlij plik z wynikami testu i wybierz plik z pamięci lokalnej.

      Zdalne poprzednie uruchomienie testu

      Rysunek 10. zdalne uruchomienie poprzedniego testu;

Wybierz urządzenia

Kliknij pola wyboru, aby wybrać urządzenia, które mają być przypisane do zestawu testów. Liczba fragmentów powinna się automatycznie zmieniać, aby odpowiadać liczbie wybranych urządzeń.

Wybierz urządzenia

Rysunek 11. Wybieranie urządzeń

Aby wybrać urządzenia według atrybutów innych niż numery seryjne, możesz ręcznie wpisać „Specyfikacje urządzenia”. Aby na przykład wybrać 3 urządzenia o nazwie produktu „bramble”, wpisz:

product:bramble;product:bramble;product:bramble

Obsługiwane atrybuty:

  • build_id
  • device_serial
  • device_type
  • nazwa hosta
  • iloczyn
  • product_variant
  • sim_state

Aby można było wykonać test, wszystkie wybrane urządzenia muszą być w stanie Dostępne. Po wykonaniu testu wszystkie przechodzą w stan Wydzielone. Przebieg testu jest w stanie W kole, gdy czeka na dostępność urządzeń.

Dodawanie działań na urządzeniu

Działania na urządzeniu to skrypty, które można uruchomić przed każdym testem. Niektóre czynności dotyczące urządzenia są już skonfigurowane, np. flashowanie i restartowanie. Aby utworzyć nowe działania urządzenia, zapoznaj się z artykułem Tworzenie nowych działań urządzenia.

Czynności na urządzeniu

Rysunek 12. Działania na urządzeniu.

Aby dodać działanie urządzenia do testu, kliknij Dodaj nowe działanie, zaznacz pola wyboru działań, które chcesz dodać, i kliknij Dodaj działania. Działania na urządzeniu są wykonywane sekwencyjnie. Możesz zmieniać kolejność działań, przeciągając je.

Dodawanie działań

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

Konfigurowanie zasobów testowych

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

Adres URL pliku do pobrania pliku ZIP pakietu testów powinien domyślnie zawierać linki do Dysku Google udostępnione partnerom. Możesz wybrać inny plik, klikając Przeglądaj. W oknie wyskakującym możesz wpisać link do pobrania pliku, użyć pliku z uwierzytelnionego kanału kompilacji lub przesłać plik z lokalnego miejsca na dane.

Materiały do testów

Rysunek 14. Testowanie zasobów.

Poniżej znajduje się wyskakujące okienko do wyboru zasobu testowego według adresu URL strony internetowej. Możesz wpisać adres URL pliku do pobrania i kliknąć przycisk Wybierz, aby potwierdzić wybór.

Testowanie selektora zasobów – adres URL w internecie

Rysunek 15. Wybór zasobu testowego – adres URL strony internetowej.

Jeśli zasoby zostały przesłane do Google Grive, Google Cloud Storage (GCS) lub innych kanałów, możesz przejść na kartę konkretnego kanału i tam je wybrać. Oto przykład wyboru zasobu z Dysku Google.

Testowanie funkcji Wybór zasobów – Dysk Google

Rysunek 16. Testowanie selektora zasobów – Dysk Google.

Oprócz wyboru plików w polu Nazwa pliku obsługiwane są też symbole wieloznaczne. Dokumentację znajdziesz tutaj.

Testowanie selektora zasobów – obsługa wzorca z symbolem wieloznacznym

Rysunek 17. Wybór zasobu testowego – obsługa wzorca z symbolem wieloznacznym.

Możesz też wybrać plik z lokalnego magazynu plików OmniLab ATS. Możesz przesyłać pliki do tego magazynu lub bezpośrednio korzystać z lokalnych plików i katalogów.

Testowanie selektora zasobów – lokalny magazyn plików

Rysunek 18. Testowanie selektora zasobów – lokalny magazyn plików.

Dodawanie konfiguracji ponownego uruchomienia

Możesz zaplanować powtórzenia, które rozpoczną się po zakończeniu podstawowego uruchomienia i załadują jego wyniki, ale mogą używać innego urządzenia, działań lub zasobów.

Dodawanie konfiguracji ponownego uruchomienia

Rysunek 19. Dodawanie konfiguracji ponownego uruchomienia.

Rozpoczynanie testu

Po wpisaniu informacji potrzebnych do przeprowadzenia testu kliknij Rozpocznij test. Jeśli wszystkie informacje są prawidłowe, test zostanie uruchomiony, a Ty zostaniesz przekierowany na stronę z szczegółami i postępem testu.

Rozpocznij test

Rysunek 20. Rozpoczynanie testu.

Tworzenie planu testów

Plany testów służą do tworzenia testów zgodnie z harmonogramem okresowym. Na przykład: uruchamianie CTS 9.0 codziennie o 17:00. Aby utworzyć nowy plan testów, kliknij Utwórz nowy plan testów.

Tworzenie planu testów

Rysunek 21. Tworzenie planu testów.

Konfigurowanie planu testów

Wpisz nazwę planu testu i ewentualne etykiety, które chcesz dodać. Następnie wybierz harmonogram, którego chcesz użyć.

  • Ręcznie – plan testowy tworzy testy tylko wtedy, gdy użytkownik kliknie Uruchom plan testowy na stronie listy planów testowych.
  • Cykliczne – plan testu automatycznie planuje testy zgodnie z wybranym harmonogramem okresowym. Możesz na przykład zaplanować testowanie codziennie o 17:00.
  • Niestandardowy – plan testu automatycznie planuje uruchomienia testów na podstawie wprowadzonego wyrażenia cron. Na przykład, aby zaplanować testowe uruchomienie codziennie o 17:00, wyrażenie cron to: 0 17 * * *.

Konfigurowanie planu testów

Rysunek 22. Konfigurowanie subskrypcji testowej.

Dodawanie zestawów testów

Aby dodać pakiety testów, które mają być zaplanowane przez plan testów, kliknij + Dodaj konfigurację testu. W menu Nazwa wybierz zestaw testów 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żesz dodać wiele konfiguracji.

Konfigurowanie testu

Rysunek 23. Konfigurowanie testu.

Dodawanie działań na urządzeniu

Dodaj działania na urządzeniu, które mają być wykonywane przed każdym uruchomieniem testu. Więcej informacji znajdziesz w artykule Dodawanie działań na urządzeniu.

Dodawanie działań na urządzeniu

Rysunek 24. Dodawanie działań na urządzeniu.

Konfigurowanie zasobów testowych

Dodawanie zasobów testowych do planów testów odbywa się w ten sam sposób co dodawanie ich do poszczególnych testów. Więcej informacji znajdziesz w artykule Konfigurowanie zasobów testowych.

Konfigurowanie zasobów testowych

Rysunek 25. Konfigurowanie zasobów testowych.

Wyświetlanie uruchomień testów

Lista testów

Na stronie Testy możesz wyświetlić listę zaplanowanych testów. Kliknij Wyświetl, aby zobaczyć więcej szczegółów dotyczących testu.

Listę możesz też filtrować, wpisując ciąg znaków na pasku filtrowania i naciskając klawisz Enter. Możesz użyć wielu filtrów, rozdzielając je przecinkami. Filtr zwraca wszystkie wiersze, które zawierają dokładnie taki sam tekst (bez dopasowywania podciągu) w dowolnej kolumnie, z wyjątkiem kolumn Stan i Utworzono.

Pusty filtr zwraca wszystkie wiersze. Obecnie nie można filtrować wierszy z pustymi wartościami.

Lista testów

Rysunek 26. Lista testów.

Szczegóły uruchomienia

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

Szczegóły uruchomienia testu

Rysunek 27. Szczegóły uruchomienia testu.

Stan wykonania testu

Postęp testu jest widoczny w sekcji Stan. Jeśli istnieje powiązana wiadomość, np. o postępie pobierania, powodzie anulowania lub błędzie, jest ona też wyświetlana tutaj.

Stan testu

Rysunek 28. Stan wykonania testu.

Stany wykonania testu:

  • Oczekuje – wymagane zasoby są pobierane.
  • W kolejce – test jest gotowy do uruchomienia, gdy urządzenie stanie się dostępne.
  • W toku – test jest wykonywany na przypisanym urządzeniu.
  • Zakończony – test został ukończony i opublikowano jego wyniki.
  • Anulowano – test został anulowany przez użytkownika lub przekroczono limit czasu podczas próby znalezienia dostępnych urządzeń.
  • Błąd – wystąpił błąd uniemożliwiający przeprowadzenie testu.

Anulowanie uruchomienia testu

Jeśli test nie został jeszcze ukończony, możesz go anulować, klikając Anuluj, a potem Tak w oknie potwierdzenia. Testy są też automatycznie anulowane, jeśli pozostają w stanie W kolejce dłużej niż czas określony w polu queue_timeout_seconds. Anulowanie testu w stanie W trakcie wykonywania może potrwać kilka minut.

Anulowanie uruchomienia testu

Rysunek 29. Anulowanie testu.

Wyniki testu

Po zakończeniu testu wyniki są zbierane i wyświetlane. Aby wyświetlić dodatkowe informacje, kliknij strzałkę obok każdego uruchomienia. Kliknij Wyświetl pliki wyjściowe, aby zobaczyć zebrane artefakty testowe, takie jak test_result.xmltest_result_failures.html.

Wyniki testu

Rysunek 30. Wyniki testu.

Logi hosta na żywo i logi Tradefed możesz wyświetlać na karcie Logi.

Logi testów

Rysunek 31. Karta Logi.

Wyniki poszczególnych modułów znajdują się na karcie Wyniki testu.

Karta Wyniki testu

Rysunek 32. Karta Wyniki testu.

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

Karta Testowanie zasobów

Rysunek 33. Karta Zasoby testowe.

Aby wyświetlić szczegóły testu, np. create_time, kliknij kartę Konfiguracja.

Karta Konfiguracja testu

Rysunek 34. Karta Konfiguracja.

Funkcje zaawansowane

Zarządzanie plikami konfiguracji

OmniLab ATS używa plików konfiguracji zapisanych w formacie YAML do wczytywania wstępnie zdefiniowanych opcji, takich jak testy, kanały kompilacji i czynności urządzenia. Oto przykładowy plik konfiguracji:

// 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 OmniLab ATS możesz udostępnić swoją konfigurację innym użytkownikom, eksportując ją jako plik. Aby to zrobić, otwórz stronę Ustawienia i w prawym górnym rogu kliknij Eksportuj.

Zarządzanie plikiem konfiguracji

Rysunek 35. zarządzanie plikiem konfiguracji.

Po pobraniu pliku konfiguracji udostępnij go innym użytkownikom. Aby dodać plik konfiguracji do instancji OmniLab ATS, użytkownik może kliknąć Import i wybrać plik konfiguracji.

Tworzenie nowego działania urządzenia

Działania na urządzeniu służą do automatyzacji procesu konfiguracji urządzenia. Działania to skrypty wykonywane na każdym urządzeniu, na którym test jest uruchamiany przed każdym uruchomieniem testu, w tym przed ponownymi próbami. Aby wyświetlić listę dostępnych działań na urządzeniu, otwórz stronę Ustawienia i kliknij kartę Działania na urządzeniu. Niektóre czynności dotyczące urządzenia są już skonfigurowane, np. restartowanie i flashowanie.

Karta Działania dotyczące urządzenia

Rysunek 36. Karta Działania na urządzeniu.

Dodawanie nowego działania urządzenia

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

    Nowy przycisk działania urządzenia

    Rysunek 37. Przycisk działania dotyczącego nowego urządzenia.

  2. Wpisz nazwę i opis.

    Nazwa działania urządzenia

    Rysunek 38. Nazwa działania urządzenia.

  3. Kliknij Dodaj osobę przygotowującą cel.

  4. Wpisz pełną nazwę klasy docelowej Federacji Handlu, np. com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    Dodawanie narzędzia do przygotowywania celów

    Rysunek 39. Dodawanie docelowego usługodawcy.

    Listę dostępnych narzędzi do przygotowywania danych docelowych znajdziesz w pliku com.android.tradefed.targetprep.

    Lista autorów treści

    Rysunek 40. Lista docelowych przygotowujących.

  5. Dodaj opcje do użycia z celem. Aby wyświetlić dostępne opcje, sprawdź targetprep w przypadku kodu źródłowego dla każdego narzędzia do przygotowywania docelowego w AOSP:

    Przykład opcji działania

    Rysunek 41. Przykład opcji działania

  6. Aby dodać opcję, kliknij Dodaj opcję dla przygotowującego dane i wpisz wymagane wartości.

    Przykład polecenia działania

    Rysunek 42. Przykład polecenia działania

  7. Określ zasoby testowe potrzebne do wykonania działania na urządzeniu, na przykład do tworzenia obrazów do wgrywania. Aby dodać definicję zasobu, kliknij Dodaj testowy zasób i wypełnij wymagane pola. Jeśli wiesz, gdzie znajdują się Twoje pliki, możesz podać domyślny adres URL do pobrania, klikając Przeglądaj. Jeśli autorzy docelowego pliku z danymi akceptują katalog jako zasób testowy, wybierz Rozpakuj. Następnie określ względny katalog Docelowy w tymczasowym katalogu roboczym oraz nazwy plików, które mają zostać rozpakowane. Jeśli nie podasz nazw plików, zostaną rozpakowane wszystkie pliki z zasobu testowego.

    Zasoby testu działania

    Rysunek 43. Zasoby testu działania.

  8. Kliknij Aktualizuj.

    Działanie Zapisz zmiany

    Rysunek 44. Zapisz zmiany.

Zarządzanie testami

Edytowanie testu

Aby edytować zapisany test, otwórz stronę Testy i w wierszu testu, który chcesz zmodyfikować, kliknij Edytuj. Po zmianie konfiguracji testu kliknij Zaktualizuj.

Edytowanie testu

Rysunek 45. Edytujesz test.

Dodawanie nowego testu

Aby dodać nowy test, otwórz stronę Testy i kliknij Utwórz nowy test. Wpisz odpowiednie informacje i kliknij Utwórz.

Tworzenie testu

Rysunek 46. Tworzenie testu.

Kopiowanie testu

Rysunek 47. Kopiowanie testu.

Eksportowanie konfiguracji hosta

Po skonfigurowaniu hosta możesz wyeksportować jego konfigurację do pliku. Możesz przesłać ten plik do innych hostów, aby skopiować zapisane konfiguracje.

Aby wyeksportować konfigurację hosta, otwórz stronę Ustawienia i w prawym górnym rogu kliknij Eksportuj.

Eksportowanie konfiguracji hosta

Rysunek 48. Eksportowanie konfiguracji hosta.

Aby zaimportować plik konfiguracji hosta, otwórz stronę Ustawienia i w prawym górnym rogu kliknij Importuj.

Importowanie konfiguracji hosta

Rysunek 49. importowanie konfiguracji hosta;

Korzystanie z plików i katalogów lokalnych

Od wersji R11 pliki w katalogu $HOME/.ats_storage są automatycznie dostępne w OmniLab ATS. Skopiuj lub przenieś plik do tego katalogu, a potem wybierz go na karcie Plik lokalny podczas planowania wykonania testu.

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

Wybieranie pliku lokalnego

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

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

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

Dodatkowe katalogi zamontowane

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

Włączanie trybu 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 wykonawców ATS.

Architektura trybu wielu hostów

Rysunek 52. Architektura trybu wielu hostów.

  1. Aby uruchomić kontroler ATS, użyj tego polecenia:

    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 tego polecenia:

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

Jeśli Twoja sieć nie zezwala hostom na komunikację ze sobą, musisz wykonać podane niżej instrukcje bardziej zaawansowanej konfiguracji dla pracownika ATS.

  1. Połącz te 2 hosty za pomocą tuneli SSH. Wybierz porty dla serwera głównego i serwera plików, np. 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
    

Czyszczenie plików

Czyścik plików to zadanie crona, które jest wykonywane co godzinę w celu wyczyszczenia plików na podstawie konfiguracji zdefiniowanych przez użytkownika. ATS ma 2 domyślne konfiguracje do archiwizowania wyników testu i usuwania plików tymczasowych. Z tego przewodnika dowiesz się, jak dostosować zasady i konfiguracje, aby skutecznie zarządzać plikami.

Zasady

Zasada definiuje operację do wykonania na plikach lub katalogach oraz kryteria wyboru celów. Dostępne operacje są widoczne w tabeli:

Typ operacjiParametry
ARCHIVEremove_file: jeśli true, usuń plik po zarchiwizowaniu.
DELETE

Kryteria są oparte na atrybutach pliku i informacjach systemowych. Dostępne kryteria są widoczne w tabeli:

Typ kryteriumOpisParametry
LAST_MODIFIED_TIMEFiltruj pliki według daty i godziny ostatniej modyfikacji.ttl: obsługiwane są różne rodzaje wyrażeń czasu, np. 10m, 2h, 7 days, 4w. Obsługiwane formaty znajdziesz na stronie pytimeparse.
LAST_ACCESS_TIMEFiltrowanie plików według daty i godziny ostatniego dostępu.Taki sam jak LAST_MODIFIED_TIME.
NAME_MATCHFiltrowanie plików na podstawie ich nazwy za pomocą wyrażenia regularnego.pattern: wyrażenie regularne, np. [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip, do dopasowywania plików ZIP z wynikami.
SYSTEM_AVAILABLE_SPACEuruchamiać działania na podstawie dostępnej przestrzeni w systemie.threshold: wywołaj działanie, gdy dostępne miejsce spadnie poniżej progu, np. 200(B), 200KB, 200MB, 200GB, 2TB.

Nowa zasada czyszczenia plików

Rysunek 53. Dodaliśmy nową zasadę czyszczenia plików.

Konfiguracje

Konfiguracja łączy co najmniej 1 zasadę z określonymi katalogami. Pliki i katalogi w określonych katalogach są przetwarzane zgodnie z zdefiniowanymi zasadami. Zasady są stosowane w kolejności, w jakiej występują w konfiguracji.

Wszystkie katalogi docelowe muszą znajdować się w katalogu /data. Jeśli w pliku konfiguracyjnym podany jest katalog docelowy logs, jest on interpretowany jako /data/logs.

Edytowanie konfiguracji oczyszczacza plików

Rysunek 54. Zmień konfigurację oczyszczacza plików.

Resetuj

Kliknięcie Zresetuj ustawienia spowoduje przywrócenie konfiguracji oczyszczania plików do stanu domyślnego. To działanie powoduje usunięcie WSZYSTKICH elementów niestandardowych.

Resetowanie ustawień programu do czyszczenia plików

Rysunek 55. Zresetuj ustawienia programu do czyszczenia plików.

Pomoc

Raporty o błędach

Twój wkład w rozwój OmniLab ATS pomaga nam ulepszać to narzędzie, dlatego chcemy poznać Twoją opinię. Szczegółowe informacje o najnowszej wersji znajdziesz w informacjach o wersji OmniLab ATS. Aby zgłosić błędy lub zaproponować sugestie, prześlij raport o błędach. Partnerzy powinni zgłaszać błędy lub sugestie za pomocą kanałów partnerskich.