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