Przygotowanie do obsługi wielu miejsc docelowych

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.

  1. multi_target_preparer wykonuje setUp po target_preparer.
  2. multi_target_preparer jest wykonywana tearDown 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_prepareri wykonywać je przed instancjami target_preparer.

<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>

Kolejność operacji:

  1. multi_pre_target_preparer setUp
  2. target_preparer setUp
  3. multi_target_preparer setUp
  4. multi_target_preparer tearDown
  5. target_preparer tearDown
  6. 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.