Docelowi autorzy

Przygotowania do testów są wywoływane przed testami na poziomie testu, w którym są zdefiniowane. Umożliwia to skonfigurowanie dowolnego urządzenia do płynnego przeprowadzania testów.

Interfejs podstawowy

Interfejs podstawowy to ITargetPreparer, który umożliwia wykonanie metody setUp. Zalecamy wdrożenie naszej podstawowej klasy abstrakcyjnejBaseTargetPreparer, która zawiera wbudowaną funkcję wyłączania, dzięki czemu możesz łatwo wyłączyć moduł przygotowujący.

Prostszy interfejs

Naturalnym rozszerzeniem setUp jest tearDown, które jest udostępniane przez inny interfejs: ITargetCleaner. Zapewnia to interfejs tearDown, który umożliwia wyczyszczenie wszystkiego, co zostało zrobione w setUp po wykonaniu testu.

Klasa BaseTargetPreparer rozszerza też klasę ITargetCleaner.

Rekomendacje

Zalecamy, aby każdy przygotowujący był ograniczony do jednej głównej funkcji, np. instalowania pliku APK lub uruchamiania polecenia. Ułatwia to ponowne używanie preparatów.

Przed dodaniem nowego preparera sprawdź też listę dostępnych preparerów, aby uniknąć powielania pracy. Usługa jest dostępna w tools/tradefederation/core/src/com/android/tradefed/targetprep/.

Konfiguracja XML

Tag obiektu to target_preparer, na przykład:

<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
    <option name="install-arg" value="-d"/>
</target_preparer>

Więcej informacji znajdziesz w artykule Konfigurowanie pakietów.

Konfiguracja najwyższego poziomu

Jeśli preparator jest określony w konfiguracji najwyższego poziomu, jest uruchamiany tylko raz na każde urządzenie. Przykładem jest cts-common.xml, czyli konfiguracja najwyższego poziomu dla testów pakietu CTS (Android Compatibility Test Suite).

Konfiguracja na poziomie modułu

Jeśli preparer jest określony na poziomie modułu, zawsze jest uruchamiany przed tym modułem. Przykładem jest backup/AndroidTest.xml, który określa, jak Tradefed uruchamia moduł backup CTS.

Pamiętaj, że preparer jest uruchamiany przed modułem, ale po wszystkich kontrolerach stanu systemu.