Architektura Tradefed

W tej sekcji opisano wewnętrzne elementy Tradefed i ich relacje. Więcej informacji znajdziesz na powiązanych podstronach.

Konfiguracje testowe

Konfiguracje testowe w Tradefed są opisane w formacie XML. Poznanie struktury konfiguracji jest kluczowe dla przeprowadzania i dostosowywania testów.

Struktura konfiguracji TF

Konfiguracje globalnego TF

Plik globalnej konfiguracji to specjalna konfiguracja XML Tradefed, która jest wczytywana podczas uruchamiania Tradefed za pomocą zmiennej środowiskowej TF_GLOBAL_CONFIG. Ładuje obiekty związane z zakresem instancji Tradefed, które wpłyną na ogólne działanie.

Szczegóły konfiguracji globalnej

Magazyn kluczy

Keystore umożliwia wstrzyknięcie opcji wiersza poleceń do Tradefed pochodzących z klucza przechowywanego w kluczowniku, 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ń jest odpowiedzialny za śledzenie stanu urządzeń w uruchomionej instancji Tradefed. Monitorowane są takie aspekty, jak stan alokacji i stan online.

Testowanie planisty poleceń

Harmonogram 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 pliki 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 faktyczne 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

Identyfikator raportu wyników w Tradefed odnosi się do obiektu, który wysyła wyniki do określonego miejsca docelowego. Każda implementacja jest zwykle dostosowana do różnych usług warstwy pośredniej. Osoba zgłaszająca wyniki odpowiada za konwersję formatu wyników Tradefed na format docelowy.

Dzięki temu elastycznemu rozwiązaniu każdy test może raportować do dowolnego miejsca docelowego wyników, a dodawanie kolejnych testów jest łatwe i nie powoduje problemów.

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 dotyczą pełnego uruchomienia instancji Tradefed. Te opcje wpływają na działanie uprzęża jako całości, aby dostosować się do różnych środowisk, na przykład do sieci z ograniczonym dostępem.

Dodatkowe 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. W tej sekcji opisujemy, jak działa i jak skonfigurować dzielenie na fragmenty.

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 danymi 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