Podobnie jak obiekt przygotowania docelowego, obiekt przygotowania docelowego dla wielu urządzeń umożliwia konfigurowanie wielu urządzeń jednocześnie. Można go na przykład użyć do połączenia dwóch urządzeń przez Bluetooth na potrzeby testów.
Interfejs podstawowy
Interfejs podstawowy to IMultiTargetPreparer
, który umożliwia wykonanie metody setUp
. Zalecamy zaimplementowanie podstawowej abstrakcyjnej klasy BaseMultiTargetPreparer
, która zawiera wbudowaną funkcję wyłączenia, dzięki której można łatwo wyłączyć przygotowywacza.
Przygotowujący dane dla wielu celów udostępniają też bezpośrednio metodę tearDown
do wszystkich operacji oczyszczania.
Rekomendacja
Zalecamy ograniczenie każdego narzędzia przygotowującego do jednej funkcji głównej. Dzięki temu można łatwiej ponownie użyć przygotowanych danych.
Zanim dodasz nowego autora, sprawdź listę dostępnych autorów, aby uniknąć powielania pracy. Przygotowują je osoby z tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
.
Nie ma ograniczeń co do liczby urządzeń, które może skonfigurować usługa przygotowująca wiele celów. 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
jest wykonywanatearDown
przed oczyszczaniem docelowym.
Nie zawsze pozwala to na wykonanie wszystkich kroków konfiguracji, dlatego w pliku XML można zdefiniować narzędzie do przygotowywania wielu celów jako multi_pre_target_preparer
i wykonywać je przed instancjami target_preparer
.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
Kolejność operacji:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
multi_pre_target_preparer tearDown
Dowolny element przygotowujący do kierowania na wiele miejsc docelowych można zadeklarować jako multi_target_preparer
lub multi_pre_target_preparer
, w zależności od wymaganej kolejności konfiguracji.