Многоцелевой препарат

Как и в случае с Target Preparer , Multi-Target Preparer позволяет одновременно настраивать несколько устройств. Например, это будет использоваться при соединении двух устройств через Bluetooth для тестирования.

Базовый интерфейс

Базовый интерфейс — IMultiTargetPreparer , который позволяет реализовать метод setUp , который будет выполняться. Мы рекомендуем реализовать наш базовый абстрактный класс BaseMultiTargetPreparer , который предоставляет встроенную функцию отключения, позволяющую легко отключить средство подготовки.

Многоцелевые средства подготовки также напрямую предоставляют метод tearDown для любой операции очистки.

Рекомендация

Мы рекомендуем, чтобы каждый препаратор ограничивался одной основной функцией. Это позволяет упростить повторное использование препараторов.

Вы также должны проверить список доступных препараторов перед добавлением нового, чтобы избежать дублирования работы. Подготовители доступны в:

инструменты/tradefederation/core/src/com/android/tradefed/targetprep/multi/

Количество устройств, которые может настроить многоцелевой преобразователь, не ограничено. Все устройства доступны в IInvocationContext интерфейса для реализации.

XML-конфигурация

Тег объекта будет multi_target_preparer , например:

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

Порядок работы

  1. multi_target_preparer выполняет setUp после target_preparer
  2. multi_target_preparer выполняет tearDown перед целевыми очистителями

Это не всегда позволяет выполнить все этапы настройки, поэтому в XML можно определить многоцелевой модуль подготовки как multi_pre_target_preparer и выполнить его перед target_preparers .

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

Общий порядок работы следующий:

  1. multi_pre_target_preparer(s) setUp
  2. target_preparer(s) setUp
  3. multi_target_preparer(s) setUp
  4. multi_target_preparer(s) слеза вниз
  5. target_preparer(s) слеза вниз
  6. multi_pre_target_preparer(s) слеза вниз

Любой многоцелевой препаратор может быть объявлен как multi_target_preparer или multi_pre_target_preparer в зависимости от того, какой порядок установки требуется.