Handel architekturą

W tej sekcji opisano wewnętrzne elementy Tradefed i relacje pomiędzy nimi. Więcej szczegółów znajdziesz na powiązanych podstronach.

Konfiguracje testowe

Konfiguracje testowe w Tradefed opisane są w formacie XML. Zrozumienie struktury konfiguracji jest kluczem do uruchamiania i dostosowywania testów.

Struktura konfiguracji TF

Globalne konfiguracje TF

Globalny plik konfiguracyjny to specjalna konfiguracja XML Tradefed, która jest ładowana podczas uruchamiania Tradefed poprzez zmienną środowiskową TF_GLOBAL_CONFIG . Ładuje obiekty powiązane z zakresem instancji Tradefed, które będą miały wpływ na ogólne zachowanie wiązki przewodów.

Szczegóły konfiguracji globalnej

Magazyn kluczy

Magazyn kluczy umożliwia wprowadzenie do Tradefed opcji wiersza poleceń pochodzących z magazynu kluczy, aby uniknąć odwoływania się do wartości bezpośrednio w wierszu poleceń. Można tego użyć do ukrycia haseł z wiersza poleceń poprzez bezpośrednie pobranie haseł z magazynu kluczy.

Szczegóły magazynu kluczy

Menadżer urządzeń

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

Testuj harmonogram poleceń

Harmonogram poleceń testowych w Tradefed pobiera polecenia do uruchomienia, kojarzy je z urządzeniami i rozpoczyna wywołanie testowe.

Dostawca kompilacji

Dostawca kompilacji to pierwszy krok każdego wywołania testu. Pobiera zasoby potrzebne do skonfigurowania i uruchomienia testów (kompilowanie obrazów, testowanie plików APK i nie tylko). Odwołuje się do nich również w obiekcie BuildInfo , który zostanie przekazany do testu. Lokalnie dostępne zasoby można także połączyć w obiekcie BuildInfo .

Osoba przygotowująca i czyszcząca cel

Narzędzie do przygotowywania obiektów docelowych oferuje opcjonalne działania, które można podjąć w celu skonfigurowania testowanego obiektu docelowego do określonego stanu, na przykład flashowanie urządzenia, ustawienie określonych właściwości i połączenie z Wi-Fi.

Biegacz testowy

Osoba przeprowadzająca test w Tradefed odnosi się do obiektu odpowiedzialnego za faktyczne wykonanie testu. Różni uczestnicy testów kierują wykonaniem testów na różne sposoby; na przykład osoba przeprowadzająca testy oprzyrządowania będzie bardzo różnić się od osoby przeprowadzającej testy JUnit.

Reporter wyników

Reporter wyników w Tradefed odnosi się do obiektu, który wyśle ​​wyniki do określonego miejsca docelowego. Każda implementacja jest zwykle wyspecjalizowana dla różnych wyników końcowych. Osoba zgłaszająca wyniki jest odpowiedzialna za konwersję formatu wyników Tradefed na format docelowy.

Ta elastyczna konstrukcja umożliwia raportowanie dowolnego testu do dowolnego miejsca docelowego wyników i łatwe dodawanie większej liczby testów w izolowany sposób.

Kolekcjoner metryk

Kolektor metryk to specjalny obiekt w Tradefed, prostopadły do ​​wykonania testu. Umożliwia zbieranie informacji w różnych momentach cyklu życia testu (na przykład początek testu, koniec testu). Ponieważ kolektor jest oddzielony od samego testu, punkty można zamieniać, dodawać i usuwać bez konieczności zmiany samego testu.

Konfiguracja obejmująca cały host

W tej sekcji opisano konfiguracje, które mają zastosowanie do działania pełnej instancji Tradefed. Opcje te wpływają na zachowanie uprzęży jako całości, aby dostosować się do różnych środowisk, na przykład w sieci z ograniczeniami.

Dodatkowe funkcje

Poniższe sekcje opisują ogólne użycie obiektów Tradefed, a nie Tradefed.

Handel shardingiem

Jeżeli korpus testowy jest duży lub jego wykonanie zajmuje dużo czasu, możliwe jest podzielenie go na kilka urządzeń. Ten podział nazywamy shardingiem . W tej sekcji opisano, jak działa fragmentowanie i jak jest konfigurowane.

Szczegóły fragmentowania

Korzystanie z SL4A

Tradefed obsługuje warstwę skryptową dla systemu Android, SL4A; jest to zestaw narzędzi do automatyzacji umożliwiający wywoływanie interfejsów API systemu Android w sposób niezależny od platformy.

SL4A ze szczegółami Tradefed

Dynamiczne pobieranie @opcji

W niektórych przypadkach pliki potrzebne do testu lub określonej operacji nie są dostępne lokalnie. Ta funkcja umożliwia Tradefed uzyskanie tych plików ze zdalnej lokalizacji bez konieczności korzystania z dostawcy kompilacji.

Dynamiczne pobieranie @opcji