OmniLab ATS to narzędzie testowe, z którego mogą korzystać deweloperzy i inżynierowie testów aplikacji na Androida. Umożliwia ono używanie interfejsu do uruchamiania standardowych pakietów testowych Androida, takich jak Android Compatibility Test Suite (CTS). To narzędzie działa jako interfejs internetowy dla różnych platform testowych, takich jak Trade Federation (TF) i Google Mobly. Umożliwia ono przeprowadzanie testów CTS i testów na wielu urządzeniach na zestawie urządzeń testowych przy minimalnej konfiguracji, a także ustalanie harmonogramu ciągłego przeprowadzania testów.
Konfigurowanie OmniLab ATS
W tej sekcji opisujemy, jak zainstalować i skonfigurować OmniLab ATS.
OmniLab ATS korzysta z kodu źródłowego z tych lokalizacji:
- Kod źródłowy OmniLab ATS
- kod źródłowy TradeFed Cluster;
Instalowanie OmniLab ATS
Spełniaj wymagania sprzętowe i programowe dotyczące uruchamianych pakietów testów.
Wymagania dotyczące CTS znajdziesz na stronie source.android.com.
W przypadku OmniLab ATS nie ma dodatkowych wymagań sprzętowych, ale zalecamy rozpoczęcie od wymagań dotyczących hosta CTS.
OmniLab ATS można zainstalować na 2 sposoby:
- Uruchom program instalacyjny.
- zainstalować go ręcznie, co wymaga zainstalowania wielu programów i zasobów;
Instalowanie za pomocą programu instalacyjnego
W systemie Ubuntu 20.04 lub nowszym program instalacyjny instaluje i konfiguruje wszystkie programy i zasoby potrzebne do uruchomienia OmniLab ATS.
Aby użyć programu instalacyjnego:
Uruchom program instalacyjny:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
Uruchom polecenie
mtt version
, aby sprawdzić zainstalowaną wersję interfejsu wiersza poleceń OmniLab ATS.
Instalacja ręczna
Instalowanie Dockera
Postępuj zgodnie z instrukcjami instalacji programu Docker Community Edition (CE) na komputerze z systemem Linux.
Wykonaj czynności po instalacji, aby zarządzać Dockerem jako użytkownik inny niż root.
Aby zmiany uprawnień zaczęły obowiązywać, może być konieczne ponowne uruchomienie okna terminala lub wylogowanie się i ponowne zalogowanie.
Instalowanie Pythona 3
Wiersz poleceń OmniLab ATS jest weryfikowany w przypadku Pythona w wersjach od 3.7 do 3.11.
W przypadku Ubuntu 16.04 lub starszej najpierw dodaj repozytorium dla Pythona 3, wykonując jedną z tych czynności:
Uruchom to polecenie:
sudo add-apt-repository ppa:deadsnakes/ppa
Skompiluj i zainstaluj repozytorium na podstawie ź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 te polecenia:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
Pobieranie interfejsu wiersza poleceń OmniLab ATS
Pakiet interfejsu wiersza poleceń (CLI) możesz pobrać tutaj
Uruchomienie OmniLab ATS
Uruchom OmniLab ATS za pomocą tego polecenia:
mtt start
Przy pierwszym uruchomieniu interfejsu może minąć kilka minut, zanim się pojawi. Interfejs wiersza poleceń wyświetla adres URL, który umożliwia 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ą flagi --port
.
Jeśli dostępna jest nowsza wersja, możesz zaktualizować do niej aplikację. Najnowsze wersje znajdziesz w informacjach o wersji.
Aby zaktualizować do bieżącej wersji, uruchom:
mtt start --force_update
Aby zatrzymać aplikację, wpisz:
mtt stop
Aby wyświetlić listę innych poleceń, użyj tego polecenia:
mtt --help
Tworzenie i przywracanie kopii zapasowej bazy danych
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ć dane, przed uruchomieniem aplikacji wpisz 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 zainstalowaniu i pierwszym uruchomieniu OmniLab ATS Kreator konfiguracji przeprowadzi Cię przez kilka kroków, które pomogą dostosować narzędzie do Twojego środowiska. Wszelkie zmiany wprowadzone w tym miejscu możesz później ponownie skonfigurować na stronie Ustawienia.
Przywracanie kopii zapasowej konfiguracji
Jeśli masz plik konfiguracyjny z kopią zapasową z innego hosta OmniLab ATS, możesz przesłać plik, aby skopiować wszelkie konfiguracje zmodyfikowane na tym hoście. W tym celu kliknij przycisk Prześlij plik.
Rysunek 1. Przywracanie kopii zapasowej konfiguracji.
Ustawianie domyślnego konta usługi
Możesz ustawić konto usługi, z którego OmniLab ATS będzie domyślnie korzystać podczas uzyskiwania dostępu do Twoich zasobów (np. Google Cloud Storage, Dysk Google). Aby uwierzytelnić konto usługi, kliknij Prześlij klucz konta usługi i wybierz plik JSON z kluczem konta usługi.
Rysunek 2. Ustawianie konta usługi.
Po pomyślnym uwierzytelnieniu konta usługi w prawym górnym rogu strony pojawi się adres e-mail 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 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 opcjonalny 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 używać urządzenia do testowania, musisz włączyć debugowanie USB. Aby włączyć debugowanie:
Postępuj zgodnie z instrukcjami w artykule 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ą ładowane automatycznie i przekazywane do ADB, aby automatycznie włączyć debugowanie USB po flashowaniu urządzenia z tymi kompilacjami.
Połącz urządzenie z maszyną hosta za pomocą USB.
Urządzenie pojawi się na karcie Urządzenia ATS OmniLab w ciągu minuty od odświeżenia interfejsu internetowego. Na tej karcie możesz też sprawdzić stan urządzeń.
Rysunek 6. Łączenie urządzenia.
Możliwe stany urządzenia:
- Dostępne – urządzenie jest połączone i gotowe do przeprowadzenia testu.
- Przydzielono – urządzenie jest połączone i przeprowadza test. Każde urządzenie może przeprowadzać tylko 1 test naraz, więc musi zakończyć bieżący test, zanim uruchomi nowy.
Rozpoczynanie testowania
Wybierz test
OmniLab ATS zawiera zestaw wstępnie skonfigurowanych ustawień CTS. Aby uruchomić jeden z tych testów, otwórz kartę Zestawy testów i kliknij Uruchom test przy wybranym teście.
Rysunek 7. Wybór testu.
Aby edytować lub dodawać nowe testy, przeczytaj artykuł Dodawanie testów.
Konfigurowanie testu
Edytuj parametry, których chcesz użyć w tym konkretnym uruchomieniu testu. Większość parametrów jest wstępnie wypełniona wartościami zdefiniowanymi w wybranej konfiguracji testu.
Ten krok można wykonać, używając wartości domyślnych, ale możesz zmienić dowolny z parametrów, np. Max Retry (Maksymalna liczba ponownych prób) i Command (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 po zaplanowaniu. Uruchomienia testów są planowane za pomocą Trade Federation, która może uruchamiać równolegle do 20 testów, jeśli jest taka możliwość.
- Max Retry – maksymalna liczba ponownych prób uruchomienia testu, jeśli co najmniej 1 test zakończy się niepowodzeniem. Zwykle ustawia się 4–6 ponownych prób pełnego uruchomienia CTS, aby poradzić sobie z niestabilnymi testami.
- Przekroczenie limitu czasu w kolejce – jeśli test pozostaje w stanie W kolejce zbyt długo, zostanie automatycznie anulowany. Określ tutaj czas oczekiwania przed anulowaniem. Domyślnie jest to 24 godziny.
Polecenie – polecenie uruchamiające zestaw testów. Tutaj możesz wpisać dodatkowe argumenty wiersza poleceń. Na przykład uruchom konkretny moduł w CTS 8.1 za pomocą tego polecenia:
cts-suite -m ShortModuleName
Retry Command (Polecenie ponowienia) – polecenie ponowienia wykonania pakietu testów. Tutaj możesz dodać dodatkowe argumenty wiersza poleceń. Aby na przykład ponownie przetestować tylko określony moduł w CTS 8.1, użyj tego polecenia:
cts --retry 0 -m ShortModuleName
Argumenty ponowienia mogą się różnić od argumentów dostępnych w przypadku polecenia początkowego, dlatego sprawdź obsługiwane parametry na oficjalnej stronie wybranego pakietu testów.
Poprzedni test – jeśli chcesz ponownie uruchomić poprzedni test:
Lokalnie – jeśli test został uruchomiony na bieżącym hoście, wpisz identyfikator testu widoczny podczas wyświetlania jego szczegółów.
Rysunek 9. Lokalne poprzednie uruchomienie testu.
Zdalnie – jeśli test został uruchomiony na innym hoście, prześlij plik wyników testu, klikając Zdalnie, a potem Prześlij plik wyników testu i wybierając plik z pamięci lokalnej.
Rysunek 10. Zdalne uruchomienie poprzedniego testu.
Wybierz urządzenia
Zaznacz pola wyboru, aby wybrać urządzenia, na których chcesz uruchomić pakiet testów. Liczba fragmentów powinna się automatycznie zmienić, 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 np. wybrać 3 urządzenia, których nazwa produktu to „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 uruchomić test, wszystkie wybrane urządzenia muszą być w stanie Dostępne. Po uruchomieniu testu wszystkie urządzenia przejdą w stan Przydzielone. Test jest w stanie W kolejce, gdy czeka na udostępnienie urządzeń.
Dodawanie działań na urządzeniu
Czynności na urządzeniu to skrypty, które można uruchamiać przed każdym testem. Niektóre działania na urządzeniu, takie jak miganie i ponowne uruchamianie, są już skonfigurowane. Aby utworzyć nowe działania na urządzeniu, zapoznaj się z artykułem Tworzenie nowego działania na urządzeniu.
Rysunek 12. Działania na urządzeniu.
Aby dodać działanie urządzenia do testu, kliknij Add new action (Dodaj nowe działanie), zaznacz pola wyboru działań, które chcesz dodać, i kliknij Add Action(s) (Dodaj działania). Działania na urządzeniu są wykonywane kolejno. Możesz zmienić kolejność działań, przeciągając je.
Rysunek 13. zmieniać kolejność działań,
Ustawianie zasobów testowych
Zasoby testowe to pliki wymagane do przeprowadzenia testu. Na przykład uruchomienie testów zgodności wymaga pliku android-cts*.zip
, a flashowanie urządzenia wymaga podania obrazu kompilacji.
Adres URL pobierania pliku ZIP pakietu testów powinien domyślnie prowadzić do linków na Dysku Google, które zostały udostępnione 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 uwierzytelnionego kanału kompilacji lub przesłać plik z pamięci lokalnej.
Rysunek 14. Testowanie zasobów
Poniżej znajduje się wyskakujące okienko do wybierania zasobu testowego za pomocą adresu URL. Możesz wpisać adres URL pobierania i kliknąć przycisk Wybierz, aby potwierdzić wybór.
Rysunek 15. Test Resource Selector - Web URL.
Jeśli masz przesłane zasoby do Google Drive, Google Cloud Storage (GCS) lub innych kanałów, możesz też przejść do karty konkretnego kanału i wybrać tam zasoby. Oto przykład wyboru zasobu z Dysku Google.
Rysunek 16. Testowanie selektora zasobów – Dysk Google.
Oprócz wybierania plików w polu Nazwa pliku obsługiwane są też symbole wieloznaczne. Dokumentację znajdziesz tutaj.
Rysunek 17. Selektor zasobów testowych – obsługa wzorców z symbolami wieloznacznymi.
Możesz też wybrać plik z lokalnego magazynu plików OmniLab ATS. Możesz przesyłać pliki do tej pamięci lub bezpośrednio używać lokalnych plików i katalogów.
Rysunek 18. Testowanie selektora zasobów – lokalny magazyn plików.
Dodawanie konfiguracji ponownego uruchomienia
Możesz zaplanować ponowne uruchomienia, które rozpoczną się po zakończeniu głównego uruchomienia i wczytają jego wyniki, ale mogą korzystać z innego urządzenia, działań lub zasobów.
Rysunek 19. Dodawanie konfiguracji ponownego uruchomienia.
Rozpocznij test
Po wpisaniu informacji potrzebnych do przeprowadzenia testu kliknij Start Test Run (Uruchom test). Jeśli wszystkie informacje są prawidłowe, rozpocznie się test, a Ty zostaniesz przekierowany(-a) na stronę, na której możesz wyświetlić szczegóły i postępy testu.
Rysunek 20. Rozpoczynanie testu.
Tworzenie planu testów
Plany testów służą do tworzenia uruchomień 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 testów i wszystkie etykiety, które chcesz dodać. Następnie wybierz harmonogram, którego chcesz użyć.
- Ręczny – plan testów tworzy przebiegi testów tylko wtedy, gdy użytkownik kliknie Uruchom plan testów na stronie listy planów testów.
- Okresowy – plan testów automatycznie planuje uruchomienia testów zgodnie z wybranym harmonogramem okresowym. Możesz na przykład zaplanować uruchamianie testu codziennie o 17:00.
- Niestandardowy – plan testów automatycznie planuje uruchomienia testów na podstawie wpisanego wyrażenia cron. Aby na przykład zaplanować uruchamianie testu codziennie o godzinie 17:00, użyj wyrażenia cron
0 17 * * *
.
Rysunek 22. Konfigurowanie planu testów.
Dodawanie pakietów testów
Dodaj zestawy testów, które mają być objęte harmonogramem planu testów, klikając + Dodaj konfigurację przebiegu testu. Wybierz zestaw testów z 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.
Ustawianie zasobów testowych
Dodawanie zasobów testowych do planów testów jest takie samo jak dodawanie ich do poszczególnych przebiegów testów. Więcej informacji znajdziesz w artykule Ustawianie zasobów testowych.
Rysunek 25. Ustawianie zasobów testowych.
Wyświetlanie uruchomień testów
Lista testów
Listę zaplanowanych uruchomień testów znajdziesz na stronie Uruchomienia testów. Kliknij Wyświetl, aby zobaczyć więcej szczegółów dotyczących testu.
Możesz też przefiltrować listę, wpisując ciąg znaków na pasku filtra i naciskając klawisz Enter. Możesz użyć kilku filtrów, oddzielając je przecinkami. Filtr zwraca wszystkie wiersze, które zawierają dokładny tekst (bez dopasowywania podciągów) 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 testu
Tutaj możesz wyświetlić szczegóły testu, takie jak stan, logi i wyniki.
Rysunek 27. Szczegóły testu.
Stan testu
Postęp testu jest widoczny w sekcji Stan. Jeśli jest powiązana wiadomość, np. postęp pobierania, powód anulowania lub komunikat o błędzie, jest ona również wyświetlana w tym miejscu.
Rysunek 28. Stan testu.
Stany testu to:
- Oczekujące – pobierane są wymagane zasoby.
- W kolejce – test jest gotowy do uruchomienia, gdy urządzenie będzie dostępne.
- W toku – test jest przeprowadzany na przydzielonym urządzeniu.
- Ukończono – test został zakończony i wygenerował 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 testu
Jeśli test nie został jeszcze ukończony, możesz go anulować, klikając Anuluj, a następnie Tak w oknie potwierdzenia. Testy są też automatycznie anulowane, jeśli pozostają w stanie W kolejce dłużej niż wartość pola queue_timeout_seconds. Anulowanie testu w stanie Uruchomiony może potrwać kilka minut.
Rysunek 29. Anulowanie testu.
Wyniki testu
Po zakończeniu testu wyniki są zbierane i wyświetlane. Dodatkowe szczegóły możesz wyświetlić, klikając strzałkę obok każdego uruchomienia. Kliknij View Output Files (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 Dzienniki.
Wyniki poszczególnych modułów znajdziesz na karcie Wyniki testu.
Rysunek 32. karta Wyniki testu.
Pliki użyte 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, takie jak create_time, otwórz kartę Konfiguracja.
Rysunek 34. karta Konfiguracja.
Funkcje zaawansowane
Zarządzanie plikami konfiguracyjnymi
OmniLab ATS używa plików konfiguracyjnych zapisanych w formacie YAML do wczytywania predefiniowanych opcji, takich jak testy, kanały kompilacji i działania na urządzeniach. Oto 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
Podczas konfigurowania instancji OmniLab ATS możesz udostępnić konfigurację innym użytkownikom, eksportując ją do pliku. Aby to zrobić, otwórz stronę Ustawienia i w prawym górnym rogu kliknij Eksportuj.
Rysunek 35. zarządzanie plikami konfiguracji,
Po pobraniu pliku konfiguracji udostępnij go innym użytkownikom. Aby dodać plik konfiguracji do instancji OmniLab ATS, może kliknąć Importuj i wybrać plik konfiguracji.
Tworzenie nowego działania 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 przeprowadzany jest test, 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. Kilka działań na urządzeniu jest już skonfigurowanych, np. ponowne uruchamianie i flashowanie.
Rysunek 36. kartę Działania na urządzeniu.
Dodawanie nowego działania urządzenia
Kliknij Nowe działanie na urządzeniu.
Rysunek 37. Przycisk działania na nowym urządzeniu.
Wpisz nazwę i opis.
Rysunek 38. Nazwa działania urządzenia.
Kliknij Dodaj osobę przygotowującą cel.
Wpisz pełną nazwę klasy Trade Federation TargetPreparer, np.
com.android.tradefed.targetprep.RunHostCommandTargetPreparer
.Rysunek 39. Dodawanie osoby przygotowującej dokumenty.
Listę dostępnych preparatorów znajdziesz w dokumentacji pakietu com.android.tradefed.targetprep.
Rysunek 40. Lista osób przygotowujących dokumenty docelowe.
Dodaj opcje, które mają być używane z przygotowywaniem miejsca docelowego. Aby wyświetlić dostępne opcje, sprawdź targetprep w przypadku kodu źródłowego każdego narzędzia do przygotowywania urządzeń docelowych w AOSP:
Rysunek 41. Przykład opcji działania.
Aby dodać opcję, kliknij Add Target Preparer Option (Dodaj opcję przygotowania miejsca docelowego) i wpisz wymagane wartości.
Rysunek 42. Przykład polecenia działania.
Określ zasoby testowe potrzebne do wykonania działania na urządzeniu, np. obrazy kompilacji do flashowania. Aby dodać definicję zasobu, kliknij Dodaj zasób testowy i wypełnij wymagane pola. Jeśli wiesz, gdzie znajdują się pliki, możesz podać domyślny adres URL pobierania, klikając Przeglądaj. Jeśli docelowi przygotowujący akceptują katalog jako zasób testowy, kliknij Rozpakuj. Następnie w tymczasowym katalogu roboczym określ względny katalog Destination (Miejsce docelowe) i File Names (Nazwy plików) do rozpakowania. Jeśli nie podasz nazw plików, wszystkie pliki zostaną zdekompresowane 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 kliknij Edytuj w wierszu testu, który chcesz zmodyfikować. Po zmianie konfiguracji testu kliknij Aktualizuj.
Rysunek 45. Edytowanie testu.
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 konfiguracje do pliku. Możesz przesłać ten plik do innych hostów, aby skopiować zapisane konfiguracje.
Aby wyeksportować konfiguracje 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.
Używanie lokalnych plików i katalogów
Od wersji R11 pliki w katalogu $HOME/.ats_storage
są automatycznie dostępne w OmniLab ATS. Skopiuj lub przenieś plik do tego katalogu, a następnie możesz go wybrać na karcie Plik lokalny podczas planowania testu.
cp /path/to/file $HOME/.ats_storage
Rysunek 50. Wybierz plik z katalogu $HOME/.ats_storage
.
Możesz zamontować dodatkowe katalogi w lokalnym sklepie z plikami 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 roboczych 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 na stronie
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ć bardziej zaawansowane instrukcje konfiguracji podane poniżej w sekcji dotyczącej procesu ATS.
Połącz oba hosty za pomocą tuneli SSH. Wybierz porty 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
Narzędzie do czyszczenia plików to zadanie cron, które jest uruchamiane co godzinę w celu czyszczenia plików na podstawie konfiguracji zdefiniowanych przez użytkownika. ATS ma 2 domyślne konfiguracje do archiwizowania wyników testów 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 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 o systemie. W tabeli wyświetlają się dostępne kryteria:
Typ kryterium | Opis | Parametry |
---|---|---|
LAST_MODIFIED_TIME | Filtrowanie plików na podstawie daty i godziny ostatniej modyfikacji. | ttl : obsługiwane są różne rodzaje wyrażeń czasowych, np. 10m , 2h , 7 days , 4w . Obsługiwane formaty znajdziesz na stronie pytimeparse . |
LAST_ACCESS_TIME | Filtruj pliki według daty i godziny ostatniego dostępu. | Takie same jak LAST_MODIFIED_TIME . |
NAME_MATCH | Filtruj pliki według 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 , aby dopasować kody pocztowe wyników. |
SYSTEM_AVAILABLE_SPACE | Wywołuj działania na podstawie dostępnego miejsca w systemie. | threshold : wywołaj działanie, gdy dostępna przestrzeń 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 na podstawie zdefiniowanych zasad. Zasady są stosowane w kolejności, w jakiej występują w konfiguracji.
Wszystkie katalogi docelowe muszą znajdować się w katalogu /data
. Jeśli w konfiguracji katalog docelowy jest określony jako logs
, jest on interpretowany jako /data/logs
.
Rysunek 54. Edytuj konfigurację narzędzia do czyszczenia plików.
Resetuj
Kliknięcie Zresetuj ustawienia przywraca konfigurację narzędzia do czyszczenia plików do stanu domyślnego. Ta czynność usuwa WSZYSTKIE elementy niestandardowe.
Rysunek 55. Zresetuj ustawienia narzędzia do czyszczenia plików.
Pomoc
Raporty o błędach
Twój wkład w rozwój OmniLab ATS pomoże nam ulepszyć to narzędzie. Zależy nam na Twojej opinii. Szczegółowe informacje o najnowszej wersji znajdziesz w informacjach o wersji OmniLab ATS. Aby zgłosić błędy lub zaproponować nowe funkcje, prześlij raport o błędach. Partnerzy powinni zgłaszać błędy i sugestie za pomocą swoich kanałów partnerskich.