Osoby przygotowujące cele są wywoływane przed testami na poziomie testów, na którym zostały zdefiniowane. Pozwala to na bezproblemowe skonfigurowanie dowolnego urządzenia do testów.
Podstawowy interfejs
Bazowym interfejsem jest ITargetPreparer
, który pozwala na wykonanie implementacji metody setUp
. Zalecamy wdrożenie naszej podstawowej klasy abstrakcyjnej BaseTargetPreparer
, która zapewnia wbudowaną funkcję wyłączania ułatwiającą wyłączanie modułu przygotowującego.
Czystszy interfejs
Naturalnym rozszerzeniem setUp
jest tearDown
, które zapewnia inny interfejs ITargetCleaner
. Zapewnia to interfejs tearDown
, który umożliwia czyszczenie wszystkiego, co zostało zrobione w setUp
po wykonaniu testu.
Klasa BaseTargetPreparer
rozszerza również klasę ITargetCleaner
.
Zalecenia
Zalecamy, aby każdy program przygotowujący ograniczał się do jednej głównej funkcji, na przykład instalowania pakietu APK lub uruchamiania polecenia. Pozwala to na łatwiejsze ponowne wykorzystanie preparatów.
Sprawdź także listę dostępnych przygotowujących przed dodaniem nowego, aby uniknąć powielania pracy. Narzędzia przygotowujące są dostępne w tools/tradefederation/core/src/com/android/tradefed/targetprep/
.
Konfiguracja XML
Znacznik obiektu to target_preparer
, na przykład:
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
Aby zapoznać się z kontekstem, zobacz także Konfigurowanie pakietów .
Konfiguracja na najwyższym poziomie
Jeśli określono to w konfiguracji najwyższego poziomu, moduł przygotowujący uruchamia się tylko raz dla każdego urządzenia. Przykładem jest cts-common.xml
, który jest konfiguracją najwyższego poziomu dla testów pakietu Android Compatibility Test Suite (CTS).
Konfiguracja na poziomie modułu
Jeśli określono to na poziomie modułu, moduł przygotowujący zawsze działa przed tym modułem. Przykładem jest backup/AndroidTest.xml
, który definiuje sposób, w jaki Tradefed uruchamia moduł backup
CTS.
Należy pamiętać, że chociaż moduł przygotowujący działa przed modułem, działa po wszystkich modułach sprawdzających status systemu .