Как и в случае с 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>
Порядок работы
-
multi_target_preparer
выполняетsetUp
послеtarget_preparer
-
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>
Общий порядок работы следующий:
- multi_pre_target_preparer(s) setUp
- target_preparer(s) setUp
- multi_target_preparer(s) setUp
- multi_target_preparer(s) слеза вниз
- target_preparer(s) слеза вниз
- multi_pre_target_preparer(s) слеза вниз
Любой многоцелевой препаратор может быть объявлен как multi_target_preparer
или multi_pre_target_preparer
в зависимости от того, какой порядок установки требуется.