W tej sekcji opisujemy wewnętrzne elementy Tradefed i ich relacje. Więcej informacji znajdziesz na połączonych podstronach.
Konfiguracje testowe
Konfiguracje testów w Tradefed są opisane w formacie XML. Zrozumienie struktury konfiguracji jest kluczowe do przeprowadzania i dostosowywania testów.
Struktura konfiguracji TF
Globalne konfiguracje TF
Plik konfiguracji globalnej to specjalna konfiguracja XML Tradefed, która jest wczytywana podczas uruchamiania Tradefed za pomocą zmiennej środowiskowej TF_GLOBAL_CONFIG. Wczytuje obiekty związane z zakresem instancji Tradefed, które wpłyną na ogólne działanie platformy.
Szczegóły konfiguracji globalnej
Magazyn kluczy
Usługa Keystore umożliwia wstrzykiwanie do Tradefed opcji wiersza poleceń pochodzących z usługi Keystore, aby uniknąć bezpośredniego odwoływania się do wartości w wierszu poleceń. Można go użyć do ukrywania haseł w wierszu poleceń przez bezpośrednie pobieranie haseł z magazynu kluczy.
Menedżer urządzeń
Menedżer urządzeń odpowiada za śledzenie stanu urządzeń w działającej instancji Tradefed. Monitorowane są aspekty takie jak stan przydziału i stan online.
Harmonogram poleceń testowych
Harmonogram poleceń testowych w Tradefed przyjmuje polecenia do uruchomienia, przypisuje je do urządzeń i rozpoczyna wywołanie testu.
Tworzenie dostawcy
Dostawca kompilacji to pierwszy krok każdego wywołania testu. Pobiera zasoby potrzebne do skonfigurowania i przeprowadzenia testów (obrazy kompilacji, testowe pliki APK itp.). Odwołuje się też do nich w obiekcie BuildInfo, który zostanie przekazany do testu. Zasoby dostępne lokalnie można też połączyć w obiekcie BuildInfo.
Preparat do czyszczenia i przygotowywania powierzchni
Przygotowanie urządzenia docelowego obejmuje opcjonalne działania, które można wykonać, aby skonfigurować testowane urządzenie docelowe w określonym stanie, np. flashowanie urządzenia, ustawianie określonych właściwości i łączenie z Wi-Fi.
- Dodawanie nowego preparatu do czyszczenia powierzchni
- Dodawanie nowego narzędzia do przygotowywania wielu miejsc docelowych
Test runner
W Tradefed tester to obiekt odpowiedzialny za rzeczywiste wykonanie testu. Różne programy do uruchamiania testów przeprowadzają wykonanie testu na różne sposoby. Na przykład program do uruchamiania testów z instrumentacją będzie się bardzo różnić od programu do uruchamiania testów JUnit.
Zgłaszający wynik
W Tradefed reporter wyników to obiekt, który wysyła wyniki do określonego miejsca docelowego. Każda implementacja jest zwykle wyspecjalizowana pod kątem różnych backendów wyników. Osoba raportująca wyniki jest odpowiedzialna za przekształcenie formatu wyników Tradefed w format docelowy.
Ta elastyczna konstrukcja umożliwia przesyłanie wyników dowolnego testu do dowolnego miejsca docelowego wyników oraz łatwe dodawanie kolejnych testów w sposób odizolowany.
- Dodawanie osoby zgłaszającej wyniki
- Raportowanie wyników i dzienniki
- Podsumowanie narzędzia do zgłaszania wyników
Kolektor danych
Kolektor danych to specjalny obiekt w Tradefed, ortogonalny do wykonywania testów. Umożliwia zbieranie informacji w różnych punktach cyklu życia testu (np. na początku i na końcu testu). Ponieważ kolektor jest odseparowany od samego testu, punkty można zamieniać, dodawać i usuwać bez konieczności zmiany samego testu.
Konfiguracja na poziomie hosta
W tej sekcji opisujemy konfiguracje, które mają zastosowanie do pełnej instancji Tradefed. Te opcje wpływają na działanie całego narzędzia, aby dostosować je do różnych środowisk, np. sieci o ograniczonym dostępie.
Dodatkowe funkcje
W sekcjach poniżej opisujemy ogólne zastosowania Tradefed, a nie obiekty Tradefed.
Fragmentacja w Tradefed
Jeśli korpus testowy jest duży lub jego wykonanie zajmuje dużo czasu, można go podzielić na kilka urządzeń. Ten podział nazywamy fragmentowaniem. W tej sekcji opisujemy, jak działa dzielenie na fragmenty i jak je skonfigurować.
Korzystanie z SL4A
Tradefed obsługuje warstwę skryptową Androida, SL4A, czyli zestaw narzędzi do automatyzacji wywoływania interfejsów API Androida w sposób niezależny od platformy.
Dynamiczne @option download
W niektórych przypadkach pliki potrzebne do przeprowadzenia testu lub wykonania określonej operacji nie są dostępne lokalnie. Ta funkcja umożliwia Tradefed pobieranie tych plików ze zdalnej lokalizacji bez korzystania z usług dostawcy kompilacji.