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_preparerwykonujesetUppotarget_preparer.multi_target_preparerwykonujetearDownprzed 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 setUptarget_preparer setUpmulti_target_preparer setUpmulti_target_preparer tearDowntarget_preparer tearDownmulti_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.