Stacja testowa OmniLab

OmniLab ATS to narzędzie testowe, z którego mogą korzystać deweloperzy aplikacji na Androida i inżynierowie testujący Wykorzystanie interfejsu do uruchamiania standardowych zestawów testów na Androida, takich jak Android Compatibility Test Suite (CTS) To narzędzie pełni funkcję interfejsu internetowego dla różnych platform testowych, Federacja handlowa (TF), Google Mobly, które umożliwia uruchamianie CTS na wielu urządzeniach testowych o minimalnej konfiguracji, Opracować harmonogram ciągłych testów.

Skonfiguruj OmniLab ATS

Ta sekcja wyjaśnia, jak zainstalować i skonfigurować OmniLab ATS.

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

Zainstaluj OmniLab ATS

Przestrzegaj wszelkich wymagań dotyczących sprzętu i oprogramowania, które mają być używane w przypadku zestawów testów.

Wymagania dotyczące CTS można znaleźć na stronie source.android.com

Nie ma dodatkowych wymagań sprzętowych dla OmniLab ATS, ale zalecamy przy użyciu wymagań dotyczących hosta CTS. jako punktu wyjścia.

OmniLab ATS można zainstalować na 2 sposoby:

Instalowanie za pomocą programu instalacyjnego

W systemie Ubuntu 20.04 i nowszym program instalatora instaluje i konfiguruje wszystkie programy i zasobów niezbędnych do uruchomienia OmniLab ATS.

Aby użyć 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 wiersza poleceń OmniLab ATS.

Zainstaluj ręcznie

Zainstaluj Dockera
  1. Postępuj zgodnie z instrukcje instalacji Docker Community Edition (CE), na komputerze z Linuksem.

  2. Postępuj zgodnie z po instalacji zarządzania Dockerem jako użytkownikiem innym 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 wiersza poleceń OmniLab ATS jest weryfikowany pod kątem Pythona w wersjach od 3.7 do 3.11.

W przypadku Ubuntu 16.04 lub starszej wersji najpierw dodaj repozytorium dla Pythona 3, wykonując jedno z nich spośród następujących:

  • Uruchom to polecenie:

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • Kompilowanie i instalowanie repozytorium ze ź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 (na przykład 3.10), uruchom te polecenia zamiast:

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

Pobieranie interfejsu wiersza poleceń OmniLab ATS

Pobierz pakiet interfejsu wiersza poleceń (CLI) tutaj.

Uruchamianie ATS OmniLab

Uruchom ATS OmniLab za pomocą tego polecenia:

mtt start

Wyświetlenie interfejsu po raz pierwszy może potrwać kilka minut. interfejs wiersza poleceń wyświetla adres URL umożliwiający dostęp do interfejsu użytkownika w przeglądarce. Domyślnie adres URL to localhost:8000 W razie potrzeby możesz zmienić domyślny port po uruchomieniu przy użyciu flagę --port.

Jeśli dostępna jest nowsza wersja, możesz zaktualizować ją do bieżącej. Dostępne opcje zapoznaj się z informacjami o wersji aby dowiedzieć się więcej.

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

mtt start --force_update

Aby zatrzymać aplikację, uruchom polecenie:

mtt stop

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

mtt --help

Tworzenie kopii zapasowej i przywracanie bazy danych

Aby utworzyć kopię zapasową bazy danych OmniLab ATS, zatrzymaj aplikację i uruchom to polecenie: co tworzy kopię zapasową bieżącej bazy danych w pliku TAR o nazwie mtt-backup.tar Twój katalog główny:

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ć dane, przed uruchomieniem aplikacji uruchom to polecenie:

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 pierwszym zainstalowaniu i uruchomieniu OmniLab ATS przez wykonanie kilku kroków, które pomogą Ci dostosować narzędzie do danego środowiska. Dowolne wprowadzone tutaj zmiany możesz skonfigurować później na stronie Ustawienia.

Przywróć kopię zapasową konfiguracji

Jeśli masz kopię zapasową pliku konfiguracji z innego hosta OmniLab ATS, możesz przesłać plik, aby skopiować dowolne konfiguracje zmodyfikowane na danym hoście przez kliknięcie przycisku Prześlij plik.

Kopia zapasowa konfiguracji przywracania

Rysunek 1. Przywracanie kopii zapasowej konfiguracji.

Ustawianie domyślnego konta usługi

Możesz skonfigurować konto usługi używanych domyślnie przez OmniLab ATS podczas uzyskiwania dostępu do zasobów (na przykład Google Cloud Storage czy Dysk 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. Konfiguruję konto usługi.

Po uwierzytelnieniu konta usługi adres e-mail tego konta jest widoczny w prawym górnym rogu strony. Aby zmienić usługę konta, 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.

Importowanie zestawów konfiguracji

Zestaw konfiguracji to pakiet konfiguracji do uruchamiania zestawów testów, w tym powiązane działania na urządzeniach i tworzenie kanałów. Zbiory konfiguracji są hostowane w określonej usłudze Google Zasobnik Cloud Storage (GCS). Po uwierzytelnieniu kanału kompilacji GCS za pomocą konta Google, zobaczysz listę wszystkich dostępnych zestawów konfiguracji.

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

Importowanie zbiorów konfiguracji

Rysunek 4. Importowanie zbioru 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 Wi-Fi PSK.

Ustawienia Wi-Fi

Rysunek 5. Ustawienia hotspotu Wi-Fi.

Po wypełnieniu kreatora konfiguracji strona zostanie ponownie załadowana z nowymi ustawieniami. zastosowano.

Połącz urządzenie

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

  1. Postępuj zgodnie z instrukcjami podanymi w artykule Włącz opcje programisty i debugowaniu.

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

    Pliki są wczytywane automatycznie i przekazywane do narzędzia ADB, aby automatycznie włączyć USB. debugowanie po zasygnalizowaniu aktualizacji urządzenia w przypadku urządzeń, na których działa ta kompilacja.

  3. Podłącz urządzenie do hosta przez USB.

    Urządzenie pojawi się na karcie Urządzenia OmniLab ATS w ciągu 1 minuty od odświeżenie interfejsu internetowego. Możesz też wyświetlić stan urządzeń na tę kartę.

    Podłącz urządzenie

    Rysunek 6. Podłączam urządzenie.

Istnieją różne stany urządzenia:

  • Dostępne – urządzenie jest połączone i gotowe do przeprowadzenia testu.
  • Przydzielono – urządzenie jest połączone i prowadzi test. Każdy urządzenie może uruchomić tylko jeden test naraz, więc musi zakończyć obecny test przed uruchomieniem nowego.
.

Rozpoczynanie testowania

Wybierz test

OmniLab ATS obejmuje zestaw wstępnie dołączonych konfiguracji CTS. Aby uruchomić jedno z poniższych przejdź do karty Pakiety testów i kliknij Przeprowadź test przy wybranych test.

Wybierz test

Rysunek 7. Wybieranie testu.

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

Skonfiguruj uruchomienie testowe

Zmień parametry, które będą używane w tym konkretnym uruchomieniu testu. Większość parametrów to jest wstępnie wypełniony wartościami zdefiniowanymi w wybranej konfiguracji testowej.

Ten krok możesz wykonać, używając wartości domyślnych, ale możesz zmienić dowolne takie jak Max Ponów i Command, by dostosować je do swoich potrzeb.

Skonfiguruj uruchomienie testowe

Rysunek 8. Konfiguruję uruchomienie testowe.

Parametry uruchomienia testu to:

  • Nazwa – nazwa zestawu testów, który chcesz uruchomić.
  • Liczba uruchomień – liczba uruchomień tego testu, gdy: zgodnie z harmonogramem. Uruchomienia testowe są zaplanowane za pomocą Federacji Handlowej, która obejmuje maksymalnie 20 osób. jest przeprowadzana równolegle, o ile da się to zrobić.
  • Maksymalna liczba ponownych prób – maksymalna liczba ponownych prób uruchomienia testu, jeśli co najmniej 1 nie powiodło się. Zazwyczaj jest to 4–6 ponownych prób w ramach pełnego uruchomienia CTS, i niestabilne testy.
  • Limit czasu kolejki – jeśli test będzie w stanie W kolejce zbyt długo, zostanie ona automatycznie anulowana. Określ czas oczekiwania przed tutaj można anulować. Wartość domyślna to 24 godziny.
  • Command – polecenie do uruchamiania zestawu testów. Możesz wpisać dodatkowe argumentów wiersza poleceń tutaj. Na przykład uruchom określony moduł w CTS 8.1 z:

    cts-suite -m ShortModuleName
    
  • Polecenie ponownej próby – polecenie do ponawiania próby w zestawie testowym. Możesz dodać zawiera dodatkowe argumenty wiersza poleceń. Aby na przykład spróbować ponownie użyć w konkretnym module w CTS 8.1, użyj polecenia:

    cts --retry 0 -m ShortModuleName
    

    Argumenty ponawiania mogą różnić się od tych dostępnych w poleceniu początkowym, sprawdź więc obsługiwane parametry na oficjalnej stronie dla wybranego testu. .

  • Poprzednie test – jeśli chcesz ponownie przeprowadzić poprzedni test:

    • Lokalnie – jeśli uruchomienie zostało rozpoczęte na bieżącym hoście, rozpocznij uruchomienie testowe Identyfikator widoczny podczas wyświetlania szczegółów uruchomienia testu.

      Lokalne poprzednie uruchomienie testowe

      Rysunek 9. Lokalne poprzednie uruchomienie testowe.

    • Zdalne – jeśli uruchomienie zostało rozpoczęte na innym hoście, prześlij test pliku z wynikami, wybierając Zdalny i Prześlij wyniki testu Plik i wybieranie pliku w pamięci lokalnej.

      Poprzednie zdalne uruchomienie testowe

      Rysunek 10. Poprzednie zdalne uruchomienie testowe.

Wybierz urządzenia

Kliknij pola wyboru, aby wybrać urządzenia, które chcesz przydzielić do uruchomienia testu . Liczba fragmentów powinna się automatycznie zmienić odpowiednio do liczby urządzeń.

Wybierz urządzenia

Rysunek 11. Wybieram urządzenia.

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

product:bramble;product:bramble;product:bramble

Obsługiwane atrybuty:

  • identyfikator_kompilacji
  • numer_seryjny urządzenia
  • device_type,
  • nazwa hosta
  • Produkt
  • wersja_produktu
  • SIM_state

Aby można było wykonać test, wszystkie wybrane urządzenia muszą mieć stan Dostępne. i wszystkie przełączają się na stan Przydzielono po wykonaniu testu. O uruchomienie testowe jest w stanie Queued (W kolejce) podczas oczekiwania na działanie urządzeń i dostępności informacji.

Dodaj działania na urządzeniu

Działania na urządzeniu to skrypty, które można wykonać przed każdym uruchomieniem testu. Niektóre działania dotyczące urządzenia są już skonfigurowane, takie jak miganie czy ponowne uruchamianie. Do tworzenie nowych działań dotyczących urządzenia, patrz Utwórz nowe działanie na urządzeniu.

Czynności na urządzeniu

Rysunek 12. Działania na urządzeniu.

Aby dodać działanie na urządzeniu do uruchomienia testowego, kliknij Dodaj nowe działanie, wybierz obok działań, które chcesz dodać, i kliknij Dodaj działania. Działania na urządzeniu są wykonywane po kolei. Możesz zmienić kolejność działań, przeciągając je.

Dodaj działania

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

Ustawianie zasobów testowych

Zasoby testowe to pliki wymagane do wykonania testu. Na przykład bieganie CTS wymaga pliku android-cts*.zip, a flashowanie urządzenia wymaga tych czynności i prześlij obraz kompilacji.

Adres URL pobierania pliku ZIP pakietu testowego powinien domyślnie wskazywać Dysk Google linki udzielane partnerom. Możesz wybrać inny plik, klikając Przeglądaj. W wyskakującym okienku możesz wpisać link do pobierania pliku, użyć pliku z uwierzytelniony kanał kompilacji lub przesłać plik do użycia z pamięci lokalnej.

Zasoby testowe

Rysunek 14. Zasoby testowe.

Poniżej znajduje się wyskakujące okienko, w którym możesz wybrać zasób testowy według adresu URL. Dostępne opcje wpisz link z adresem URL pobierania i kliknij przycisk Wybierz, aby potwierdzić wyboru.

Testowy selektor zasobów – adres URL

Rysunek 15. Testowy selektor zasobów – adres URL strony internetowej.

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

Testuj selektor zasobów – Dysk Google

Rysunek 16. Testuj selektor zasobów – Dysk Google.

Symbole wieloznaczne działają nie tylko jako pliki, ale też w Filename (Nazwa pliku). Dokumentację można znaleźć tutaj.

Selektor zasobów testowych – obsługa wzorca symboli wieloznacznych

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

Możesz też wybrać plik z lokalnego miejsca na pliki OmniLab ATS. Możesz przesłać pliki do tej pamięci, bezpośredniego używania lokalnych plików i katalogów.

Selektor zasobów testowych – lokalny magazyn plików

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

Dodaj konfiguracje ponownego uruchamiania

Możesz zaplanować ponowne uruchomienia, które rozpoczną się po zakończeniu głównego uruchomienia, a także może wczytać wyniki, ale może korzystać z innych urządzeń, działań lub zasobów.

Dodaj konfiguracje ponownego uruchamiania

Rysunek 19. Dodaję konfiguracje ponownego uruchamiania.

Rozpocznij uruchomienie testowe

Po wpisaniu informacji potrzebnych do uruchomienia testu kliknij Start test (Rozpocznij test). Uruchom. Jeśli wszystkie informacje są prawidłowe, test rozpoczyna się zostanie przekierowany na stronę z informacjami o szczegółach i postępie testu.

Rozpocznij test

Rysunek 20. Rozpoczynam uruchomienie testowe.

Tworzenie planu testów

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

Utwórz plan testów

Rysunek 21. Tworzę plan testów.

Skonfiguruj plan testów

Wpisz nazwę planu testów i etykiety, które chcesz dodać. Następnie wybierz harmonogram.

  • Ręcznie – plan testów tworzy testy tylko po kliknięciu przez użytkownika. Uruchom plan testów na stronie z listą planów testów.
  • Okresowe – plan testów automatycznie planuje testy wybrano harmonogram okresowy. Na przykład zaplanowanie uruchomienia testowego codziennie o 17:00.
  • Niestandardowy – plan testów automatycznie planuje uruchomienia testów na podstawie Wpisano wyrażenie cron. Przykład: aby zaplanować uruchamianie testowe codziennie o 17:00, wyrażenie cron ma postać 0 17 * * *

Skonfiguruj plan testów

Rysunek 22. Konfiguruję plan testów.

Dodaj pakiety testowe

Dodaj pakiety testów, które chcesz zaplanować w planie testów. Aby to zrobić, kliknij + Dodaj konfigurację uruchomienia testowego. Wybierz pakiet testowy z menu Nazwa i kliknij Następny krok. Następnie wybierz urządzenia, na których chcesz przeprowadzić test, kliknij Add Configuration (Dodaj konfigurację). Możesz dodać wiele konfiguracji dla każdego testu .

Skonfiguruj uruchomienie testowe

Rysunek 23. Konfiguruję uruchomienie testowe.

Dodaj działania na urządzeniu

Dodaj działania na urządzeniu, które chcesz wykonać przed każdym testem. Więcej informacji znajdziesz w artykule Dodawanie działań na urządzeniu.

Dodaj działania na urządzeniu

Rysunek 24. Dodaję działania na urządzeniu.

Ustawianie zasobów testowych

Dodawanie zasobów testowych do planów testów wygląda tak samo jak dodawanie ich do poszczególnych testów biegi. Więcej informacji znajdziesz w artykule Konfigurowanie zasobów testowych.

Ustaw zasoby testowe

Rysunek 25. Konfiguruję zasoby testowe.

Wyświetl uruchomienia testowe

Lista uruchomień testów

Listę zaplanowanych uruchomień testów znajdziesz na stronie Testy. Kliknij Wyświetl, aby wyświetlić więcej szczegółów na temat uruchomienia testowego.

Listę możesz też filtrować, wpisując na pasku filtrów ciąg znaków naciskając klawisz Enter. Możesz używać wielu filtrów, rozdzielając je znakami przecinek. Filtr zwraca wszystkie wiersze, które zawierają dokładnie ten tekst (brak podłańcucha). dopasowania) w dowolnej kolumnie, z wyłączeniem wartości Status (Stan) i Created (Utworzono).

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

Lista uruchomień testowych

Rysunek 26. Lista uruchomień testów.

Szczegóły uruchomienia testu

Tutaj możesz wyświetlić szczegóły uruchomienia testu, takie jak stan, logi wyników.

Szczegóły uruchomienia testu

Rysunek 27. Szczegóły uruchomienia testu.

Stan uruchomienia testowego

Postęp uruchomienia testu jest widoczny w sekcji Stan. Jeśli występuje podobny np. postęp pobierania, powód anulowania lub komunikat o błędzie, jest widoczne tutaj.

Stan uruchomienia testowego

Rysunek 28. Stan uruchomienia testowego.

Stan uruchomienia testu to:

  • Oczekujące – trwa pobieranie wymaganych zasobów.
  • Queued (W kolejce) – test jest gotowy do uruchomienia, gdy urządzenie będzie dostępne.
  • Uruchomiono – test działa na przydzielonym urządzeniu.
  • Ukończony – test zakończył się i został podany jego wyniki.
  • Anulowano – test został anulowany przez użytkownika lub przekroczono limit czasu podczas próby. znaleźć dostępne urządzenia.
  • Błąd – wystąpił błąd, który uniemożliwił przeprowadzenie testu.

Anulowanie uruchomienia testowego

Jeśli test się nie zakończył, możesz go anulować, klikając Anuluj, a następnie a następnie klikając Tak w oknie potwierdzenia. Testy również są automatycznie anulowane, jeśli pozostaną w stanie Queued (W kolejce) dłużej niż queue_timeout_seconds. Anulowanie uruchomienia testowego w stanie Uruchomiono może minąć kilka minut, zanim zmiany będą widoczne.

Anuluj uruchomienie testowe

Rysunek 29. Anuluję uruchomienie testowe.

Wyniki testu

Po zakończeniu testu zostaną zebrane i wyświetlone wyniki. Dostępne opcje wyświetl dodatkowe szczegóły, klikając strzałkę przy każdym uruchomieniu. Kliknij Wyświetl dane wyjściowe. Pliki, które pozwalają wyświetlić zebrane artefakty testowe, np. test_result.xml czy test_result_failures.html

Wyniki biegu testowego

Rysunek 30. Wyniki uruchomienia testowego.

Logi hosta i Tradefed możesz wyświetlić na karcie Logi.

Logi uruchomienia testowego

Rysunek 31. Dzienniki.

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

Karta Wyniki testu

Rysunek 32. Wyniki testu.

Aby pobrać pliki używane jako zasoby testowe, kliknij Otwórz w Zasoby testowe.

Karta Zasoby testowe

Rysunek 33. Zasoby testowe.

Aby wyświetlić szczegóły uruchomienia testu, takie jak create_time, otwórz kartę Konfiguracja.

Karta konfiguracji testu

Rysunek 34. Konfiguracja.

Funkcje zaawansowane

Zarządzaj plikami konfiguracyjnymi

OmniLab ATS używa plików konfiguracji napisanych w YAML do wczytywać wstępnie zdefiniowane opcje, takie jak testy, kanały kompilacji i działania na urządzeniach. Przykładowy plik konfiguracyjny:

// 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ć konfigurację innym użytkownikom, eksportując go jako plik. W tym celu otwórz stronę Ustawienia kliknij Eksportuj w prawym górnym rogu.

Zarządzanie plikami konfiguracji

Rysunek 35. Zarządzanie plikami konfiguracji.

Po pobraniu pliku konfiguracji udostępnij go innym użytkownikom. Może dodać plik konfiguracji do instancji OmniLab ATS, klikając Importuj i wybierz plik konfiguracyjny.

Utwórz nowe działanie na urządzeniu

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 aktywny jest test, przed każdym jego uruchomieniem, nawet przed ponowną próbą. Aby wyświetlić listę dostępnych działań na urządzeniu, otwórz Ustawienia i kliknij kartę Działania na urządzeniu. Kilka działań na urządzeniu już skonfigurowane, np. restartowanie i miganie.

Karta Działania na urządzeniu

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

Dodaj nowe działanie na urządzeniu

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

    Przycisk nowego działania na urządzeniu

    Rysunek 37. Przycisk polecenia na nowym urządzeniu.

  2. Wpisz nazwę i opis.

    Nazwa działania na urządzeniu

    Rysunek 38. Nazwa działania na urządzeniu.

  3. Kliknij Add Target Preparer (Dodaj uczestnika docelowego).

  4. Podaj cel federacji handlowej Pełna nazwa zajęć przygotowujących, na przykład com.android.tradefed.targetprep.RunHostCommandTargetPreparer

    Dodaj przygotowania celu

    Rysunek 39. Dodaję osobę przygotowującą docelową.

    Listę dostępnych programów przygotowujących do kierowania na cele znajdziesz w com.android.tradefed.targetprep, odwołania.

    Lista przygotowawczych do kierowania

    Rysunek 40. Lista docelowych przygotowujących.

  5. Dodaj opcje, które mają być używane w przypadku docelowego elementu przygotowującego. Aby wyświetlić dostępne opcje: zaznacz targetprep, dla kodu źródłowego każdego podmiotu przygotowującego elementy docelowe w AOSP:

    Przykład opcji działania

    Rysunek 41. Przykład opcji działania.

  6. Aby dodać opcję, kliknij Add Target Preparer Option (Dodaj opcję przygotowywania celu docelowego) i wpisz wartość wymagane wartości.

    Przykład polecenia działania

    Rysunek 42. Przykład polecenia działania.

  7. Określ zasoby testowe wymagane do wykonania działania na urządzeniu na przykład np. kompilować obrazy do flashowania. Aby dodać definicję zasobu, kliknij Dodaj zasób testowy i wypełnij wymagane pola. Jeśli wiesz, gdzie możesz podać domyślny URL pobierania, klikając przeglądać. Jeśli docelowe moduły przygotowujące zaakceptują katalog jako zasób testowy, wybierz Dekompresuj. Następnie podaj względny katalog Destination w tymczasowym katalogu roboczym i w sekcji Nazwy plików, które mają być zdekompresowany. Jeśli nie podasz nazw plików, zostaną one zdekompresowane z dla zasobu testowego.

    Zasoby do testów działań

    Rysunek 43. Zasoby do testowania działania.

  8. Kliknij Aktualizuj.

    Czynność, zapisz zmiany

    Rysunek 44. Zapisz zmiany.

Zarządzaj testami

Edytowanie testu

Aby edytować zapisany test, wejdź na stronę Testy i kliknij Edytuj w wierszu raportu który chcesz zmodyfikować. Po zmianie konfiguracji testu kliknij Aktualizuj.

Edytowanie testu

Rysunek 45. Edytowanie testu.

Dodaj nowy test

Aby dodać nowy test, wejdź na stronę Testy i kliknij Utwórz nowy test. Wejście odpowiednie informacje i kliknij Utwórz.

Tworzenie testu

Rysunek 46. Tworzę test.

Kopiowanie testu

Rysunek 47. Kopiuję test.

Eksportuj konfiguracje hostów

Po skonfigurowaniu hosta możesz wyeksportować jego konfigurację do pliku. Aby skopiować zapisane konfiguracje, możesz przesłać ten plik na inne hosty.

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

Eksportuję konfiguracje hostów

Rysunek 48. Eksportuję konfigurację hosta.

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

Importowanie konfiguracji hostów

Rysunek 49. Importowanie konfiguracji hosta.

Używaj lokalnych plików i katalogów

Od wersji R11 pliki w katalogu $HOME/.ats_storage są automatycznie dostępne w systemie OmniLab ATS. Skopiuj lub przenieś plik do tego miejsca możesz wybrać go na karcie Plik lokalny i testowania.

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

Wybieranie pliku lokalnego

Rysunek 50. Wybieram plik z katalogu $HOME/.ats_storage.

Dodatkowe katalogi możesz podłączyć do lokalnego magazynu plików za pomocą flaga --mount_local_path.

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

Dodatkowe podłączone katalogi

Rysunek 51. Dodatkowe katalogi podłączone do magazynu plików lokalnych.

Włącz tryb wielu hostów

W trybie wielu hostów użytkownicy mogą za pomocą jednego hosta kontrolera ATS zarządzać na urządzeniach i testach na wielu hostach instancji roboczych ATS.

Architektura w trybie wielu hostów

Rysunek 52. Architektura w trybie 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. Instancje robocze możesz uruchomić za pomocą tego polecenia:

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

Jeśli Twoja sieć nie zezwala hostom na komunikowanie się ze sobą, wykonaj podane niżej instrukcje bardziej zaawansowanej konfiguracji. w instancji roboczej ATS.

  1. Połącz 2 hosty za pomocą tuneli SSH. Wybierz porty dla przez port główny i port 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
    

Narzędzie do czyszczenia plików

Narzędzie do czyszczenia plików to zadanie cron, które jest uruchamiane co godzinę, aby wyczyścić pliki na podstawie zdefiniowane przez użytkownika. Zespół ATS ma 2 domyślne konfiguracje archiwizacji testu uruchomić wyniki i usunąć pliki tymczasowe. Z tego przewodnika dowiesz się, jak dostosować zasady i konfiguracje umożliwiające efektywne zarządzanie plikami.

Zasady

Zasada określa operację, która ma być wykonywana na plikach lub katalogach, kryteria wyboru elementów docelowych. Dostępne operacje są przedstawione w tabeli:

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

Kryteria są oparte na atrybutach pliku i informacjach o systemie. Dostępny(-a) 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ń czasowych, na przykład 10m, 2h, 7 days, 4w. Listę obsługiwanych formatów znajdziesz na pytimeparse.
LAST_ACCESS_TIMEFiltruj pliki na podstawie daty i godziny ostatniego dostępu.Taka sama cena jak w usłudze LAST_MODIFIED_TIME.
NAME_MATCHOdfiltruj pliki na podstawie ich nazwy, korzystając z wyrażeń regularnych.pattern: wyrażenie regularne, np. [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip pasujące do plików ZIP z wynikami.
SYSTEM_AVAILABLE_SPACEUruchamiaj działania na podstawie miejsca dostępnego w systemie.threshold: aktywuj działanie, gdy dostępna przestrzeń spadnie poniżej progu, np. 200(B), 200KB, 200MB, 200GB, 2TB.

Nowa zasada czyszczenia plików

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

Konfiguracje

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

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

Edytuj konfigurację narzędzia do czyszczenia plików

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

Resetuj

Kliknij Resetuj ustawienia, aby przywrócić konfigurację narzędzia do czyszczenia plików do stanu pierwotnego. domyślny stan. To działanie spowoduje usunięcie WSZYSTKICH elementów niestandardowych.

Zresetuj ustawienia narzędzia do czyszczenia plików

Rysunek 55. Zresetuj ustawienia narzędzia do czyszczenia plików.

Pomoc

Raporty o błędach

Twój wkład w OmniLab ATS pomaga nam ulepszać to narzędzie oraz chętnie poznamy Wasze zdanie. Zobacz Informacje o wersji OmniLab ATS . Aby zgłosić błędy lub zaproponować sugestie, prześlij raport o błędzie. Partnerzy powinni zgłaszać błędy i sugestie przy użyciu swoich kanałów partnerskich.