Architektura Tradefed

Ta sekcja opisuje wewnętrzne elementy Tradefed i ich relacje. Więcej informacji znajdziesz na linkowanych podstronach.

Konfiguracje testowe

Konfiguracje testowe w ramach Tradefed są opisane w formacie XML. Poznanie struktury konfiguracji jest kluczem do przeprowadzania i dostosowywania testów.

Struktura konfiguracji TF

Konfiguracje globalne TF

Plik konfiguracji globalnej to specjalna konfiguracja XML Tradefed, która jest ładowana, gdy usługa Tradefed uruchamia się za pomocą zmiennej środowiskowej TF_GLOBAL_CONFIG. Wczytuje on obiekty powiązane z zakresem instancji Tradefed, które będą miały wpływ na ogólne działanie jarzma.

Szczegóły konfiguracji globalnej

Magazyn kluczy

Keystore umożliwia wstrzykiwanie opcji wiersza poleceń do Tradefed pochodzących z keystore, aby uniknąć odniesienia do wartości bezpośrednio w wierszu poleceń. Można go użyć do ukrycia haseł z wiersza poleceń, pobierając je bezpośrednio z repozytorium kluczy.

Szczegóły magazynu kluczy

Menedżer urządzeń

Menedżer urządzeń odpowiada za śledzenie stanu urządzeń w działającej instancji Tradefed. Monitorowane są takie aspekty, jak stan alokacji i stan online.

Testowanie planisty poleceń

Harmonizer poleceń testowych w Tradefed pobiera polecenia do wykonania, kojarzy je z urządzeniami i uruchamia wywołanie testowe.

Dostawca kompilacji

Dostawca kompilacji jest pierwszym krokiem w każdej wywoływanej próbie. Pobiera zasoby potrzebne do konfigurowania i uruchamiania testów (obrazy kompilacji, testowane pakiety APK itp.). Odwołuje się do nich też w obiekcie BuildInfo, który zostanie przekazany testowi. Zasoby dostępne lokalnie można też połączyć w obiekcie BuildInfo.

osoba przygotowująca i czyszcząca cele

Przygotowanie celu oferuje opcjonalne działania, które można wykonać, aby skonfigurować testowany cel w określonym stanie, na przykład przeflashowanie urządzenia, ustawienie pewnych właściwości i połączenie z Wi-Fi.

Testowanie

W Tradefed test runner odnosi się do obiektu odpowiedzialnego za rzeczywiste wykonanie testu. Różne narzędzia do testowania uruchamiają testy na różne sposoby. Na przykład narzędzie do testowania instrumentacji będzie się bardzo różnić od narzędzia do testowania JUnit.

Zgłaszający wynik

Raport wyników w Tradefed odnosi się do obiektu, który wysyła wyniki do określonego miejsca docelowego. Każda implementacja jest zwykle specyficzna dla różnych backendów wyników. Osoba zgłaszająca wyniki odpowiada za konwersję formatu wyników Tradefed na format docelowy.

Taka elastyczna konstrukcja pozwala każdemu testowi na raportowanie do dowolnego miejsca docelowego wyników oraz pozwala na łatwe dodawanie większej liczby testów w wyodrębniony sposób.

Zbieracz danych

Zbieracz danych to specjalny obiekt w Tradefed, który jest niezależny od wykonania testu. Umożliwia zbieranie informacji w różnych punktach cyklu życia testu (np. na początku i na końcu). Zbieracz jest odłączony od testu, więc punkty można zamieniać, dodawać i usuwać bez konieczności zmiany samego testu.

Konfiguracja na poziomie hosta

W tej sekcji opisano konfiguracje, które mają zastosowanie do uruchomionej pełnej instancji Tradefed. Opcje te wpływają na całość działania urządzenia w celu dostosowania się do różnych środowisk, np. w sieci z ograniczonym dostępem.

Inne funkcje

W sekcjach poniżej opisujemy ogólne użycie usługi Tradefed, a nie obiektów Tradefed.

Dzielenie danych w formacie Tradefed

Jeśli korpus testowy jest duży lub jego wykonanie zajmuje dużo czasu, możesz go podzielić na kilka urządzeń. Taki podział nazywamy dzieleniem na fragmenty. Z tej sekcji dowiesz się, jak działa fragmentowanie i jak jest ono skonfigurowane.

Szczegóły dotyczące podziału na fragmenty

Korzystanie z SL4A

Tradefed obsługuje warstwę skryptów dla Androida, SL4A. Jest to zestaw narzędzi automatyzacji do wywoływania interfejsów API Androida w sposób niezależny od platformy.

SL4A z informacjami o Tradefed

Dynamic @option download

W niektórych przypadkach pliki potrzebne do przeprowadzenia testu lub wykonania określonej operacji są niedostępne lokalnie. Ta funkcja umożliwia Tradefed pobieranie tych plików z odległej lokalizacji bez przechodzenia przez dostawcę kompilacji.

Pobranie dynamicznej opcji