OmniLab ATS to narzędzie do testowania, którego deweloperzy aplikacji na Androida i inżynierowie testów mogą używać do uruchamiania standardowych pakietów testów Androida, takich jak Android Compatibility Test Suite (CTS), za pomocą interfejsu użytkownika. To narzędzie działa jako interfejs internetowy dla różnych platform testowych, takich jak Trade Federation (TF) i Google Mobly, umożliwiając uruchamianie 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.
Wprowadzenie do OmniLab ATS 2.0
OmniLab ATS 2.0 przenosi podstawową infrastrukturę wykonywania testów z Trade Federation do OmniLab. Ta zmiana zapewnia bardziej niezawodny i wydajny backend, zachowując jednocześnie interfejs użytkownika i przepływy pracy OmniLab ATS 1.0.
Najważniejsze zalety OmniLab ATS 2.0:
- Zmodernizowana infrastruktura: wykorzystuje platformę OmniLab, aby zapewnić lepszą stabilność i wydajność.
- Płynne przejście: brak zmian w interfejsie internetowym i podstawowych procesach wykonywania testów.
- Gotowość na przyszłość: zgodność ze zunifikowaną infrastrukturą testową Google, co umożliwia szybsze wdrażanie nowych funkcji.
OmniLab ATS 2.0 zawiera nowe funkcje, takie jak zbiorcze aktualizacje planu testów, zaawansowane przydzielanie urządzeń i inne. Informacje o aktualizacjach znajdziesz w informacjach o wersji.
Przejście na OmniLab ATS 2.0:
Aby korzystać z OmniLab ATS 2.0, musisz uaktualnić stację do kompilacji R52 lub nowszej. Użyj flagi --force_ats_version 2, aby przełączyć się na nową wersję Omnilab ATS 2.0, oraz flagi --force_update z poleceniem mtt start, aby uaktualnić do najnowszej kompilacji:
mtt start --force_ats_version 2 --force_update
W okresie migracji zalecamy używanie tagu dogfood, aby uzyskać dostęp do najnowszej stabilnej kompilacji z funkcjami OmniLab ATS 2.0:
mtt start --force_ats_version 2 --tag dogfood --force_update
W III kwartale 2026 r. planujemy ustawić OmniLab ATS 2.0 jako wersję domyślną. Planujemy wycofać OmniLab ATS 1.0 do końca 2026 r.
Więcej informacji o konkretnych aktualizacjach, znanych różnicach i wskazówkach dotyczących uaktualniania znajdziesz w przewodniku po uaktualnianiu OmniLab ATS 2.0.
Konfigurowanie OmniLab ATS
W tej sekcji opisano, jak zainstalować i skonfigurować OmniLab ATS.
OmniLab ATS używa kodu źródłowego z tych lokalizacji:
- Kod źródłowy OmniLab ATS
- Kod źródłowy TradeFed Cluster
Instalowanie OmniLab ATS
Spełnij wszystkie wymagania sprzętowe i programowe dotyczące uruchamianych zestawów testów.
Wymagania dotyczące CTS znajdziesz na stronie source.android.com.
OmniLab ATS nie ma dodatkowych wymagań sprzętowych, ale zalecamy zacząć 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
Instalator jest obsługiwany w systemie Ubuntu 22.04 i nowszych. Instalator instaluje i konfiguruje wszystkie programy i zasoby potrzebne do uruchomienia OmniLab ATS.
Aby skorzystać z programu instalacji:
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.
Zainstaluj ręcznie
Zainstaluj Dockera
Postępuj zgodnie z instrukcjami instalacji 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
Interfejs wiersza poleceń OmniLab ATS wymaga systemu Ubuntu w wersji 22.04 lub nowszej. Interfejs wiersza poleceń jest weryfikowany pod kątem wersji Pythona od 3.10 do 3.13.
Aby zainstalować Pythona 3, uruchom te polecenia:
sudo apt-get updatesudo apt install python3 python3-distutils
Jeśli potrzebujesz wersji Pythona 3, która nie jest uwzględniona w standardowej dystrybucji, najpierw dodaj repozytorium Pythona 3, wykonując jedną z tych czynności:
Uruchom to polecenie:
sudo add-apt-repository ppa:deadsnakes/ppa
Skompiluj i zainstaluj repozytorium ze źródła.
Aby zainstalować konkretną wersję Pythona 3 (np. 3.10), uruchom te polecenia:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
Pobieranie interfejsu wiersza poleceń OmniLab ATS
Pobierz pakiet interfejsu wiersza poleceń (CLI) tutaj
Uruchamianie OmniLab ATS
Uruchom OmniLab ATS za pomocą tego polecenia:
mtt start
Pierwsze uruchomienie interfejsu może potrwać kilka minut. 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 jest dostępna nowsza wersja, możesz zaktualizować aplikację do bieżącej wersji. Informacje o najnowszych wersjach 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ć, 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 zainstalowaniu i pierwszym uruchomieniu OmniLab ATS kreator konfiguracji przeprowadzi Cię przez kilka kroków, które pomogą Ci dostosować narzędzie do Twojego środowiska. Wszystkie zmiany, które tu wprowadzisz, możesz później zmienić na stronie Ustawienia.
Przywracanie kopii zapasowej konfiguracji
Jeśli masz plik konfiguracji z kopią zapasową z innego hosta OmniLab ATS, możesz przesłać ten plik, aby skopiować wszystkie konfiguracje zmodyfikowane na tym hoście. 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 będzie używać domyślnie 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 klucza JSON konta usługi.
Rysunek 2. Ustawianie konta usługi.
Po pomyślnym uwierzytelnieniu konta usługi adres e-mail konta pojawi się w prawym górnym rogu strony. Aby zmienić konto usługi, kliknij nazwę konta, usuń bieżące konto domyślne i prześlij nowy klucz konta usługi.
Rysunek 3. Zmienianie konta usługi.
Importowanie zbioró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ą przechowywane 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 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 klucz PSK sieci Wi-Fi.
Rysunek 5. Ustawienia hotspotu Wi-Fi.
Po zakończeniu kreatora konfiguracji strona zostanie ponownie załadowana z zastosowanymi 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 podanymi w artykule Włączanie opcji programisty i debugowania.
Jeśli planujesz używać testowych kompilacji Androida z wstępnie załadowanymi niestandardowymi kluczami ADB, umieść niestandardowe pliki
.adb_keyw katalogu~/.android/.Pliki są ładowane automatycznie i przekazywane do ADB, aby automatycznie włączyć debugowanie USB po zainstalowaniu obrazu na urządzeniach z tymi kompilacjami.
Połącz urządzenie z maszyną hosta za pomocą kabla USB.
Urządzenie pojawi się na karcie Urządzenia OmniLab ATS w ciągu minuty od odświeżenia interfejsu internetowego. Na tej karcie możesz też wyświetlić stan urządzeń.
Rysunek 6. Łączenie urządzenia.
Dostępne stany urządzeń:
- Dostępne – urządzenie jest połączone i gotowe do przeprowadzenia testu.
- Przydzielone – urządzenie jest połączone i przeprowadza test. Na każdym urządzeniu można uruchomić tylko 1 test naraz, więc urządzenie musi zakończyć bieżący test, zanim będzie można uruchomić nowy.
Uruchom test
Wybierz test
OmniLab ATS zawiera zestaw wstępnie dołączonych konfiguracji CTS. Aby uruchomić jeden z tych testów, otwórz kartę Zestawy testów i kliknij Uruchom test obok wybranego testu.
Rysunek 7. Wybór testu.
Aby edytować lub dodać nowe testy, zapoznaj się z sekcją Dodawanie testów.
Konfigurowanie testu
Edytuj parametry, których chcesz użyć w tym konkretnym uruchomieniu testowym. Większość parametrów jest wstępnie wypełniana wartościami zdefiniowanymi w wybranej konfiguracji testu.
Ten krok można wykonać, używając wartości domyślnych, ale możesz zmienić dowolne parametry, takie jak Maksymalna liczba prób i Polecenie, aby dostosować je do swoich potrzeb.
Rysunek 8. Konfigurowanie testu.
Parametry testu:
- Nazwa – nazwa zestawu testów, który chcesz uruchomić.
- Liczba uruchomień – liczba uruchomień testu po zaplanowaniu. Uruchomienia testów są planowane za pomocą Trade Federation, który może uruchomić równolegle do 20 testów, jeśli jest taka możliwość.
- Maksymalna liczba ponownych prób – maksymalna liczba ponownych prób wykonania testu, jeśli co najmniej 1 test się nie powiedzie. Zwykle ustawia się 4–6 ponownych prób w przypadku pełnego uruchomienia CTS, aby obsłużyć testy z niepewnym wynikiem.
- Przekroczenie limitu czasu oczekiwania w kolejce – jeśli test pozostaje w stanie W kolejce zbyt długo, jest automatycznie anulowany. Określ czas oczekiwania przed anulowaniem. Wartość domyślna 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ą polecenia:
cts-suite -m ShortModuleNamePolecenie ponownej próby – polecenie ponownego uruchomienia zestawu testów. Tutaj możesz dodać dodatkowe argumenty wiersza poleceń. Aby na przykład ponowić próbę tylko w przypadku konkretnego modułu w CTS 8.1, użyj:
cts --retry 0 -m ShortModuleNameArgumenty ponownej próby mogą się różnić od tych dostępnych w przypadku początkowego polecenia, dlatego sprawdź obsługiwane parametry na oficjalnej stronie wybranego zestawu testów.
Poprzedni test – jeśli chcesz ponownie uruchomić poprzedni test:
Lokalny – jeśli uruchomienie zostało rozpoczęte na bieżącym hoście, wpisz identyfikator uruchomienia testu widoczny podczas wyświetlania szczegółów uruchomienia testu.
Rysunek 9. Lokalny poprzedni test.
Zdalnie – jeśli uruchomienie zostało rozpoczęte na innym hoście, prześlij plik z wynikami testu, wybierając Zdalnie, klikając Prześlij plik z wynikami testu i wybierając plik z pamięci lokalnej.
Rysunek 10. Usuń poprzedni test.
wybranych urządzeń
Zaznacz pola wyboru, aby wybrać urządzenia, które chcesz przydzielić do uruchomienia pakietu testów. Liczba fragmentów powinna automatycznie zmienić się, aby odpowiadać liczbie wybranych urządzeń.
Rysunek 11. Wybieram urządzenia.
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
- 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 urządzenia przełączą się w stan Przydzielone. Test jest w stanie W kolejce, gdy czeka na dostępność urządzeń.
Dodawanie działań na urządzeniu
Działania na urządzeniu to skrypty, które można wykonywać przed każdym uruchomieniem testu. Niektóre działania na urządzeniu, takie jak flashowanie i ponowne uruchamianie, są już skonfigurowane. Aby dowiedzieć się, jak tworzyć nowe działania na urządzeniu, przeczytaj artykuł Tworzenie nowego działania na urządzeniu.
Rysunek 12. Działania na urządzeniu.
Aby dodać działanie na urządzeniu do testu, kliknij Dodaj nowe działanie, zaznacz pola wyboru obok działań, które chcesz dodać, i kliknij Dodaj działania. Działania na urządzeniu są wykonywane sekwencyjnie. Możesz zmienić kolejność działań, przeciągając je.
Rysunek 13. Zmieniam kolejność działań.
Ustawianie zasobów testowych
Zasoby testowe to pliki wymagane do wykonania testu. Na przykład uruchomienie CTS wymaga pliku android-cts*.zip, a flashowanie urządzenia wymaga podania obrazu kompilacji.
Adres URL do pobrania pliku ZIP zestawu testów powinien domyślnie prowadzić do linków na Dysku Google udostępnionych partnerom. Możesz wybrać inny plik, klikając Przeglądaj. W wyskakującym okienku możesz wpisać link pobierania pliku, użyć pliku z uwierzytelnionego kanału kompilacji lub przesłać plik z pamięci lokalnej.
Rysunek 14. Zasoby testowe.
Poniżej znajduje się wyskakujące okienko, w którym można wybrać zasób testowy według adresu URL. Możesz wpisać link do adresu URL pobierania i kliknąć przycisk Wybierz, aby potwierdzić wybór.
Rysunek 15. Selektor zasobów testowych – adres URL.
Jeśli masz zasoby przesłane na Dysk Google, do Google Cloud Storage (GCS) lub innych kanałów, możesz też przejść na kartę konkretnego kanału i tam wybrać zasoby. Oto przykład wybierania zasobu z Dysku Google.
Rysunek 16. Selektor zasobów testowych – Dysk Google.
Oprócz wybierania plików w polu Nazwa pliku można też używać symboli wieloznacznych. Dokumentację znajdziesz tutaj.
Rysunek 17. Selektor zasobów testowych – obsługa wzorców z symbolami wieloznacznymi.
Możesz też wybrać plik z lokalnej pamięci OmniLab ATS. Możesz przesyłać pliki do tego miejsca na dane lub bezpośrednio używać plików i katalogów lokalnych.
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 i wczytaniu jego wyników, ale mogą używać innego urządzenia, działań lub zasobów.
Rysunek 19. Dodaję konfiguracje ponownego uruchomienia.
Rozpocznij test
Po wpisaniu informacji potrzebnych do uruchomienia testu kliknij Uruchom test. Jeśli wszystkie informacje są prawidłowe, rozpocznie się test, a Ty przekierujemy Cię na stronę, na której możesz wyświetlić szczegóły i postęp 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 dodaj etykiety. Następnie wybierz harmonogram, którego chcesz użyć.
- Ręcznie – plan testów tworzy uruchomienia testów tylko wtedy, gdy użytkownik kliknie Uruchom plan testów na stronie z listą planów testów.
- Okresowo – plan testów automatycznie planuje uruchomienia testów zgodnie z wybranym harmonogramem okresowym. Możesz na przykład zaplanować test codziennie o 17:00.
- Niestandardowy – plan testów automatycznie planuje uruchomienia testów na podstawie wpisanego wyrażenia cron. Jeśli na przykład chcesz zaplanować test codziennie o 17:00, wyrażenie cron będzie wyglądać tak:
0 17 * * *.
Rysunek 22. Konfigurowanie planu testów.
Dodawanie zestawów testów
Dodaj zestawy testów, które chcesz zaplanować w ramach planu testów, klikając + Dodaj konfigurację uruchomienia 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 sekcji 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 przebiega tak samo jak dodawanie ich do poszczególnych uruchomień testów. Więcej informacji znajdziesz w artykule Konfigurowanie zasobów testowych.
Rysunek 25. Konfigurowanie zasobów testowych.
Wyświetlanie uruchomień testowych
Lista uruchomień testowych
Listę zaplanowanych testów możesz wyświetlić na stronie Testy. Kliknij Wyświetl, aby zobaczyć więcej szczegółów o uruchomieniu testowym.
Możesz też przefiltrować listę, wpisując ciąg znaków na pasku filtrowania i naciskając klawisz Enter. Możesz użyć kilku filtrów, oddzielając je przecinkami. Filtr zwraca wszystkie wiersze, które zawierają dokładnie ten tekst (bez dopasowywania podłańcuchów) w dowolnej kolumnie z wyjątkiem Stan i Utworzono.
Pusty filtr zwraca wszystkie wiersze. Obecnie nie ma możliwości filtrowania wierszy z pustymi wartościami.
Rysunek 26. Lista uruchomień testowych.
Szczegóły uruchomienia testowego
Tutaj możesz wyświetlić szczegóły uruchomienia testu, takie jak stan, logi i wyniki.
Rysunek 27. Szczegóły uruchomienia testu.
Stan uruchomienia testowego
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, również zostanie ona wyświetlona.
Rysunek 28. Stan uruchomienia testowego.
Stany uruchomienia testu to:
- Oczekujące – wymagane zasoby są pobierane.
- W kolejce – test jest gotowy do uruchomienia, gdy urządzenie będzie dostępne.
- Running (W toku) – test jest wykonywany na przydzielonym urządzeniu.
- Ukończono – test został zakończony i wyświetlił wyniki.
- Anulowano – test został anulowany przez użytkownika lub upłynął 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 zakończony, możesz go anulować, klikając Anuluj, a następnie Tak w oknie potwierdzenia. Uruchomienia testów 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. Aby wyświetlić dodatkowe informacje, kliknij strzałkę przy każdym uruchomieniu. Kliknij Wyświetl pliki wyjściowe, aby zobaczyć zebrane artefakty testu, takie jak test_result.xml i test_result_failures.html.
Rysunek 30. Wyniki testu.
Na karcie Logi możesz wyświetlać logi hosta i Tradefed na żywo.
Rysunek 31. Karta Logi.
Wyniki poszczególnych modułów znajdują się na karcie Wyniki testów.
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, takie jak create_time, otwórz 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 na urządzeniu. 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ć 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 plikami konfiguracji.
Po pobraniu pliku konfiguracji udostępnij go innym użytkownikom. Może dodać plik konfiguracji do instancji OmniLab ATS, klikając Import (Importuj) i wybierając 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 jest uruchamiany 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. Niektóre działania na urządzeniu są już skonfigurowane, np. ponowne uruchamianie i flashowanie.
Rysunek 36. Karta Działania na urządzeniu.
Dodawanie nowego działania na urządzeniu
Kliknij Nowe działanie na urządzeniu.
Rysunek 37. Przycisk polecenia na nowym urządzeniu.
Wpisz jej nazwę i opis.
Rysunek 38. Nazwa działania na urządzeniu.
Kliknij Dodaj osobę przygotowującą dane docelowe.
Wpisz pełną nazwę klasy przygotowującej środowisko docelowe Trade Federation, na przykład
com.android.tradefed.targetprep.RunHostCommandTargetPreparer.
Rysunek 39. Dodaję moduł przygotowujący środowisko docelowe.
Listę dostępnych modułów przygotowujących środowisko docelowe znajdziesz w dokumentacji com.android.tradefed.targetprep.
Rysunek 40. Lista osób przygotowujących dane docelowe.
Dodaj opcje, których chcesz używać z przygotowaniem celu. Aby wyświetlić dostępne opcje, sprawdź targetprep pod kątem kodu źródłowego każdego modułu przygotowującego środowisko docelowe w AOSP:
Rysunek 41. Przykład opcji działania.
Aby dodać opcję, kliknij Dodaj opcję przygotowania celu i wpisz wymagane wartości.
Rysunek 42. Przykładowe polecenie działania.
Zdefiniuj 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ę Twoje pliki, możesz podać domyślny URL pobierania, klikając Przeglądaj. Jeśli docelowe moduły przygotowujące akceptują katalog jako zasób testowy, wybierz Dekompresuj. Następnie określ względny katalog docelowy w tymczasowym katalogu roboczym oraz nazwy plików, które mają zostać zdekompresowane. Jeśli nie podasz nazw plików, wszystkie pliki zostaną zdekompresowane z zasobu testowego.
Rysunek 43. Zasoby testowe działania.
Kliknij Aktualizuj.
Rysunek 44. Działanie: zapisanie zmian.
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.
Dodaj nowy test
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 hostów
Po skonfigurowaniu hosta możesz wyeksportować jego konfiguracje do pliku. Możesz przesłać ten plik na inne hosty, 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 wybierz go na karcie Plik lokalny podczas planowania uruchomienia testu.
cp /path/to/file $HOME/.ats_storage
Rysunek 50. Wybieram plik 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 gospodarzy
W trybie wielu hostów użytkownicy mogą używać jednego hosta kontrolera ATS do zarządzania urządzeniami i testami na wielu hostach instancji roboczych ATS.
Rysunek 52. Architektura trybu wielu hostów.
Aby uruchomić kontroler ATS, użyj tego polecenia:
mtt start --operation_mode=ON_PREMISESprawdź, czy kontroler jest dostępny pod adresem
http://${CONTROLLER_HOSTNAME}:8000.Aby uruchomić instancje 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 komunikowanie się ze sobą, musisz postępować zgodnie z bardziej zaawansowanymi instrukcjami konfiguracji poniżej dotyczącymi instancji roboczej ATS.
Połącz oba hosty za pomocą tuneli SSH. Wybierz porty dla serwera głównego i serwera plików, na przykład 9000 i 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAMESkonfiguruj 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 czyścić pliki 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 zostać wykonana 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 plików i informacjach systemowych. Dostępne kryteria są widoczne w tabeli:
| Typ kryterium | Opis | Parametry |
|---|---|---|
LAST_MODIFIED_TIME | Filtruj pliki 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 w artykule pytimeparse. |
LAST_ACCESS_TIME | Filtruj pliki na podstawie daty i godziny ostatniego dostępu. | Takie same jak LAST_MODIFIED_TIME. |
NAME_MATCH | Filtruj pliki 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, aby dopasować kody pocztowe. |
SYSTEM_AVAILABLE_SPACE | wykonywać działania na podstawie dostępnego miejsca w systemie; | threshold: wywołaj działanie, gdy ilość dostępnego miejsca 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 Resetuj ustawienia przywraca domyślny stan konfiguracji narzędzia do czyszczenia plików. To działanie spowoduje usunięcie WSZYSTKICH elementów niestandardowych.
Rysunek 55. Zresetuj ustawienia czyszczenia plików.
Pomoc
Raporty o błędach
Twoja opinia o OmniLab ATS pomoże nam ulepszyć to narzędzie. Szczegółowe informacje o najnowszej wersji znajdziesz w informacjach o wersji OmniLab ATS. Aby zgłosić błędy lub przesłać sugestie, prześlij raport o błędzie. Partnerzy powinni zgłaszać błędy i sugestie za pomocą kanałów partnerskich.