Przygotowywacze z wieloma celami

Podobnie jak moduł przygotowania celu , moduł przygotowania wielu celów umożliwia jednoczesne skonfigurowanie wielu urządzeń. Można to na przykład wykorzystać podczas podłączania dwóch urządzeń za pomocą Bluetooth w celu przetestowania.

Podstawowy interfejs

Podstawowym interfejsem jest IMultiTargetPreparer , który umożliwia zaimplementowanie metody setUp do wykonania. Zalecamy wdrożenie naszej podstawowej klasy abstrakcyjnej BaseMultiTargetPreparer , która udostępnia wbudowaną funkcję wyłączania ułatwiającą wyłączanie modułu przygotowującego.

Programy przygotowujące wiele obiektów docelowych zapewniają także bezpośrednio metodę tearDown dla dowolnej operacji czyszczenia.

Rekomendacje

Zalecamy ograniczenie każdego modułu przygotowującego do jednej głównej funkcji. 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/multi/ .

Nie ma ograniczeń co do liczby urządzeń, które może skonfigurować osoba przygotowująca wiele celów. Wszystkie urządzenia są dostępne w IInvocationContext interfejsu do wdrożenia.

Konfiguracja XML

Znacznik 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 wykonuje operację tearDown przed czyszczeniem celu.

Nie zawsze pozwala to na wykonanie wszystkich kroków konfiguracji, dlatego w kodzie XML można zdefiniować moduł przygotowujący wiele obiektów docelowych jako multi_pre_target_preparer i wykonać go 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:

  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 program przygotowujący wiele celów można zadeklarować jako multi_target_preparer lub multi_pre_target_preparer w zależności od wymaganej kolejności konfiguracji.