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

Подобно устройству подготовки целевых устройств , устройство подготовки нескольких целевых устройств позволяет настроить одновременную установку нескольких устройств. Например, это может использоваться при подключении двух устройств по 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 в зависимости от требуемого порядка настройки.