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