De manera similar a un preparador de objetivos , un preparador de objetivos múltiples permite la configuración de varios dispositivos juntos. Por ejemplo, esto se usaría al conectar dos dispositivos con Bluetooth para realizar pruebas.
Interfaz básica
La interfaz base es IMultiTargetPreparer
, que permite implementar un método setUp
para su ejecución. Recomendamos implementar nuestra clase abstracta básica BaseMultiTargetPreparer
, que proporciona una función de desactivación incorporada para desactivar fácilmente un preparador.
Los preparadores de objetivos múltiples también proporcionan directamente un método tearDown
para cualquier operación de limpieza.
Recomendación
Recomendamos limitar cada preparador a una única función principal. Esto permite una reutilización más fácil de los preparadores.
Consulte también la lista de preparadores disponibles antes de agregar uno nuevo, para evitar duplicar trabajo. Los preparadores están disponibles en tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
.
No hay límite para la cantidad de dispositivos que puede configurar un preparador de objetivos múltiples. Todos los dispositivos están disponibles en IInvocationContext
de la interfaz a implementar.
configuración XML
La etiqueta del objeto es multi_target_preparer
, por ejemplo:
<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>
Orden de operación
-
multi_target_preparer
ejecutasetUp
después detarget_preparer
. -
multi_target_preparer
ejecutatearDown
antes que los limpiadores de destino.
Esto no siempre permite realizar todos los pasos de configuración, por lo que es posible en XML definir el preparador de múltiples objetivos como multi_pre_target_preparer
y ejecutarlo antes de las instancias target_preparer
.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
El orden general de operación es el siguiente:
-
multi_pre_target_preparer setUp
-
target_preparer setUp
-
multi_target_preparer setUp
-
multi_target_preparer tearDown
-
target_preparer tearDown
-
multi_pre_target_preparer tearDown
Cualquier preparador de objetivos múltiples se puede declarar como multi_target_preparer
o multi_pre_target_preparer
dependiendo del orden de configuración que se requiera.