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 program instalatora.
- 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 program instalacyjny:
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.
Zainstaluj ręcznie
Zainstaluj 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 zalogowanie się ponownie.
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ń (CLI) tutaj.
Uruchamianie OmniLab ATS
Uruchom ATS OmniLab za pomocą tego polecenia:
mtt start
Pierwsze uruchomienie interfejsu może potrwać kilka minut. Interfejs wiersza poleceń wyświetla adres URL strony internetowej, aby uzyskać dostęp do interfejsu w przeglądarce. Domyślny adres URL 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 ją zaktualizować. 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 jej przywracanie
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 głównym:
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 skonfigurować 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 swojego konta usługi.
Rysunek 2. Konfiguruję konto usługi.
Gdy uwierzytelnianie konta usługi zakończy się 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. Zmieniam konto 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. Zbiory 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 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 zamierzasz używać testowych kompilacji Androida wstępnie załadowanych 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.
Podłącz urządzenie do komputera-gospodarza 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łączam urządzenie.
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. Na każdym urządzeniu można uruchomić tylko jeden test w danym momencie, więc przed uruchomieniem nowego musi zakończyć bieżący test.
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. Konfiguruję uruchomienie testowe.
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 handlowej, 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órzeń w przypadku pełnego uruchomienia CTS, aby obsłużyć niestabilne testy.
- 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 jest to 24 godziny.
Polecenie – polecenie do uruchamiania zestawu testów. Tutaj możesz wpisać dodatkowe argumenty wiersza poleceń. Na przykład uruchom w interfejsie CTS 8.1 określony moduł z:
cts-suite -m ShortModuleName
Polecenie ponownej próby – polecenie do ponawiania próby w zestawie testowym. 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 test – jeśli chcesz ponownie przeprowadzić poprzedni test:
Lokalny – jeśli test został uruchomiony na bieżącym hoście, wpisz identyfikator testu widoczny podczas wyświetlania 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. Poprzednie zdalne uruchomienie testowe.
Wybierz urządzenia
Kliknij pola wyboru, aby wybrać urządzenia, które chcesz przydzielić do uruchamiania pakietu 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ądzeń”. Aby na przykład wybrać 3 urządzenia o nazwie „bramble”, wpisz:
product:bramble;product:bramble;product:bramble
Obsługiwane atrybuty:
- build_id
- numer_seryjny urządzenia
- device_type,
- nazwa hosta
- Produkt
- 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. Uruchomienie testu znajduje się w stanie Queued (w kolejce) podczas oczekiwania 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 działania na urządzeniu 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 pobierania pliku ZIP pakietu testowego powinien domyślnie zawierać linki do Dysku Google udostępniane partnerom. Możesz wybrać inny plik, klikając Przeglądaj. W wyskakującym okienku możesz podać link do pobrania pliku, użyć pliku z uwierzytelnionego kanału kompilacji lub przesłać plik do użycia z pamięci lokalnej.
Rysunek 14. Zasoby testowe.
Poniżej znajduje się wyskakujące okienko do wybierania zasobu testowego według adresu URL strony internetowej. Możesz wpisać link z adresem URL pobierania i kliknąć przycisk Wybierz, aby potwierdzić wybór.
Rysunek 15. Wybór zasobu testowego – adres URL strony internetowej.
Jeśli masz zapisane zasoby w Google Grive, Google Cloud Storage (GCS) lub innych kanałach, możesz przejść na kartę konkretnego kanału i tam wybrać zasoby. Oto przykład wyboru zasobu z Dysku Google.
Rysunek 16. Testowanie selektora zasobów – Dysk Google.
Oprócz możliwości wyboru plików w polu Nazwa pliku obsługiwane są też symbole wieloznaczne. Dokumentację znajdziesz tutaj.
Rysunek 17. Test Resource Selector – 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 odtwarzania
Możesz zaplanować ponowne uruchomienia, które rozpoczynają się po zakończeniu głównego uruchomienia i wczytają jego wyniki, ale mogą używać innych urządzeń, 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 cyklicznych testów. 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.
Skonfiguruj plan testów
Wpisz nazwę planu testu i ewentualne etykiety, które chcesz dodać. Potem 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. Wybierz pakiet testowy w menu 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ż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 taki sam sposób jak dodawanie ich do poszczególnych testów. Więcej informacji znajdziesz w artykule Konfigurowanie zasobów testowych.
Rysunek 25. Konfiguruję zasoby testowe.
Wyświetl uruchomienia testowe
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 dopasowania 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
Możesz tutaj wyświetlić szczegóły uruchomienia testu, takie jak stan, logi i wyniki.
Rysunek 27. Szczegóły uruchomienia testu.
Stan wykonania testu
Postęp testu jest widoczny w sekcji Stan. Tutaj też jest widoczny powiązany komunikat, np. o postępie pobierania, przyczyna anulowania lub komunikat o błędzie.
Rysunek 28. Stan uruchomienia testowego.
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, który uniemożliwił przeprowadzenie testu.
Anulowanie uruchomienia testu
Jeśli test nie został ukończony, możesz go anulować, klikając Anuluj, a następnie klikając Tak w oknie potwierdzenia. Testy są też automatycznie anulowane, jeśli pozostają w stanie W kole 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 szczegóły, 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 uruchomienia testowego.
Logi hosta i 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 działania 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. Może dodać plik konfiguracji do instancji OmniLab ATS, klikając Importuj i wybierając 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, przejdź na 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, na przykład
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
.Rysunek 39. Dodawanie docelowego usługodawcy.
Listę dostępnych narzędzi do przygotowywania ustawień kierowania znajdziesz w dokumencie 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 danych docelowych 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 wymagane do wykonania działania na urządzeniu, np. kompiluj 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 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, z zasobu testowego zostaną zdekompresowane wszystkie pliki.
Rysunek 43. Zasoby testów działania.
Kliknij Aktualizuj.
Rysunek 44. Działanie zapisywania zmian.
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. Tworzę test.
Rysunek 47. Kopiowanie testu.
Eksportowanie konfiguracji hosta
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 w prawym górnym rogu kliknij Eksportuj.
Rysunek 48. Eksportuję konfigurację 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
.
Możesz podłączyć dodatkowe katalogi do lokalnego magazynu plików za pomocą flagi --mount_local_path
.
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 w trybie 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
Narzędzie do czyszczenia 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 określa operację, która ma być wykonywana na plikach lub katalogach, oraz kryteria wyboru elementów docelowych. 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 o systemie. 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 . Listę obsługiwanych formatów znajdziesz na pytimeparse . |
LAST_ACCESS_TIME | Filtruj pliki według daty i godziny ostatniego dostępu. | Taki sam jak LAST_MODIFIED_TIME . |
NAME_MATCH | Odfiltruj 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 , 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. Dodaj 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ą się znajdować w katalogu /data
. Jeśli w Twojej konfiguracji katalog docelowy jest określony jako logs
, będzie on interpretowany jako /data/logs
.
Rysunek 54. Edytuj konfigurację narzędzia do czyszczenia plików.
Resetuj
Kliknięcie Resetuj ustawienia przywraca konfigurację narzędzia do czyszczenia plików do stanu domyślnego. To działanie powoduje usunięcie WSZYSTKICH elementów niestandardowych.
Rysunek 55. Zresetuj ustawienia 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.