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

Подобно устройству подготовки целей , устройство подготовки нескольких целей позволяет одновременно настраивать несколько устройств. Например, это может быть использовано при подключении двух устройств по Bluetooth для тестирования.

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

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

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

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

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

Также проверьте список доступных препараторов перед добавлением нового, чтобы избежать дублирования работы. Препараторы доступны в tools/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_preparer .

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

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

  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

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