Podobnie jak przygotowywanie wielu urządzeń, przygotowywanie wielu urządzeń docelowych umożliwia konfigurowanie wielu urządzeń jednocześnie. Na przykład używa się go podczas łączenia dwóch urządzeń przez Bluetooth w celu przeprowadzenia testów.
Interfejs podstawowy
Interfejs podstawowy to IMultiTargetPreparer
, który umożliwia wdrożenie metody setUp
do wykonania. Zalecamy wdrożenie naszej podstawowej klasy abstrakcyjnej
BaseMultiTargetPreparer
, która zapewnia wbudowaną funkcję wyłączania, dzięki czemu możesz łatwo wyłączyć preparer.
Przygotowujący dane dla wielu celów udostępniają też bezpośrednio tearDown
metodę dowolnego czyszczenia.
Rekomendacja
Zalecamy ograniczenie każdej osoby przygotowującej do jednej głównej funkcji. Ułatwia to ponowne wykorzystywanie preparatów.
Zanim dodasz nowego przygotowującego, sprawdź listę dostępnych przygotowujących, aby uniknąć powielania pracy. Usługi przygotowywania dokumentów są dostępne w tych krajach:tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
Liczba urządzeń, które może skonfigurować osoba przygotowująca dane dla wielu typów urządzeń, jest nieograniczona. Wszystkie urządzenia są dostępne w IInvocationContext
interfejsu do wdrożenia.
Konfiguracja XML
Tag obiektu to multi_target_preparer
, na przykład:
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
Kolejność operacji
multi_target_preparer
wykonujesetUp
potarget_preparer
.multi_target_preparer
wykonujetearDown
przed czyszczeniem docelowym.
Nie zawsze umożliwia to wykonanie wszystkich kroków konfiguracji, dlatego w pliku XML można zdefiniować przygotowanie do wielu celów jako multi_pre_target_preparer
i wykonać je przed instancjami target_preparer
.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
Ogólna kolejność operacji jest następująca:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
multi_pre_target_preparer tearDown
Każdy preparer z wieloma celami może być zadeklarowany jako multi_target_preparer
lub multi_pre_target_preparer
w zależności od wymaganej kolejności konfiguracji.