W tej sekcji opisano 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
Keystore umożliwia wstrzykiwanie do Tradefed opcji wiersza poleceń pochodzących z magazynu kluczy, 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ń na działającej instancji Tradefed. Monitorowane są aspekty takie jak stan przydzielenia i stan online.
Harmonogram poleceń testowych
Harmonogram poleceń testowych w Tradefed przyjmuje polecenia do uruchomienia, przypisuje je do urządzeń i uruchamia wywołanie testu.
Dostawca kompilacji
Dostawca kompilacji to pierwszy krok w procesie wywoływania 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
.
Przygotowywanie i czyszczenie celów
Przygotowanie urządzenia docelowego oferuje 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 się z Wi-Fi.
- Dodawanie nowego preparatu do czyszczenia powierzchni
- Dodawanie nowego narzędzia do przygotowywania wielu miejsc docelowych
Test runner
W Tradefed moduł uruchamiający testy to obiekt odpowiedzialny za faktyczne wykonanie testu. Różne programy do uruchamiania testów przeprowadzają testy na różne sposoby. Na przykład program do uruchamiania testów instrumentacji będzie się bardzo różnić od programu do uruchamiania testów JUnit.
Zgłaszający wynik
W Tradefed moduł raportujący wyniki 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łcanie formatu wyników Tradefed na format docelowy.
Ta elastyczna konstrukcja umożliwia raportowanie wyników dowolnego testu do dowolnego miejsca docelowego i łatwe dodawanie kolejnych testów w sposób odizolowany.
- Dodawanie osoby zgłaszającej wyniki
- Raportowanie wyników i dzienniki
- Podsumowanie zgłaszającego wyniki
Kolektor danych
Kolektor danych to specjalny obiekt w Tradefed, który jest niezależny od wykonywania testu. Umożliwia zbieranie informacji w różnych punktach cyklu życia testu (np. na początku i na końcu testu). Ponieważ moduł zbierający 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 działania pełnej instancji Tradefed. Te opcje wpływają na działanie całego modułu, aby dostosować go 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.
Dzielenie 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.