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) i 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:
- OmniLab ATSkod źródłowy
- Kod źródłowy TradeFed Cluster
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:
- Uruchom instalator.
- Zainstaluj go ręcznie, co wymaga zainstalowania wielu programów i zasobów.
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:
Uruchom instalator:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
Uruchom
mtt version
, aby sprawdzić zainstalowaną wersję interfejsu wiersza poleceń OmniLab ATS.
Instalacja ręczna
Instalowanie Dockera
Wykonaj instrukcje instalacji Docker Community Edition (CE) na komputerze z Linuksem.
Wykonaj czynności po instalacji, aby zarządzać Dockerem jako użytkownik inny niż root.
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.
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.
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.
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.
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.
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:
Postępuj zgodnie z instrukcjami w sekcji Włączanie opcji programisty i debugowania.
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.
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ń.
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.
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ób i Polecenie, aby dostosować je do swoich potrzeb.
.
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.
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.
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ń.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 * * *
.
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.
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.
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.
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.
Rysunek 26. Lista testów.
Szczegóły uruchomienia
Tutaj możesz wyświetlić szczegóły testu, takie jak stan, logi i wyniki.
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.
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.
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.xml
i test_result_failures.html
.
Rysunek 30. Wyniki testu.
Logi hosta na żywo i logi Tradefed możesz wyświetlać na karcie Logi.
Rysunek 31. Karta Logi.
Wyniki poszczególnych modułów znajdują się na karcie Wyniki testu.
Rysunek 32. Karta Wyniki testu.
Pliki używane jako zasoby testowe możesz pobrać, klikając Otwórz na karcie Zasoby testowe.
Rysunek 33. Karta Zasoby testowe.
Aby wyświetlić szczegóły testu, np. create_time, kliknij kartę Konfiguracja.
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.
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.
Rysunek 36. Karta Działania na urządzeniu.
Dodawanie nowego działania urządzenia
Kliknij Nowe działanie na urządzeniu.
Rysunek 37. Przycisk działania dotyczącego nowego urządzenia.
Wpisz nazwę i opis.
Rysunek 38. Nazwa działania urządzenia.
Kliknij Dodaj osobę przygotowującą cel.
Wpisz pełną nazwę klasy docelowej Federacji Handlu, np.
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
.Rysunek 39. Dodawanie docelowego usługodawcy.
Listę dostępnych narzędzi do przygotowywania danych docelowych znajdziesz w pliku com.android.tradefed.targetprep.
Rysunek 40. Lista docelowych przygotowujących.
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:
Rysunek 41. Przykład opcji działania
Aby dodać opcję, kliknij Dodaj opcję dla przygotowującego dane i wpisz wymagane wartości.
Rysunek 42. Przykład polecenia działania
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.
Rysunek 43. Zasoby testu działania.
Kliknij Aktualizuj.
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.
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.
Rysunek 46. Tworzenie 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.
Rysunek 48. Eksportowanie konfiguracji hosta.
Aby zaimportować plik konfiguracji hosta, otwórz stronę Ustawienia i w prawym górnym rogu kliknij Importuj.
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
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
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.
Rysunek 52. Architektura trybu wielu hostów.
Aby uruchomić kontroler ATS, użyj tego polecenia:
mtt start --operation_mode=ON_PREMISE
Sprawdź, czy kontroler jest dostępny pod adresem
http://${CONTROLLER_HOSTNAME}:8000
.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.
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
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 operacji | Parametry |
---|---|
ARCHIVE | remove_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 kryterium | Opis | Parametry |
---|---|---|
LAST_MODIFIED_TIME | Filtruj 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_TIME | Filtrowanie plików według daty i godziny ostatniego dostępu. | Taki sam jak LAST_MODIFIED_TIME . |
NAME_MATCH | Filtrowanie 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_SPACE | uruchamiać 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 . |
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
.
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.
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.