Al igual que un preparador de destino, un preparador de varios destinos permite configurar varios dispositivos a la vez. Por ejemplo, se usaría cuando se conectan dos dispositivos con Bluetooth para realizar pruebas.
Interfaz base
La interfaz base es IMultiTargetPreparer, que permite implementar un método setUp para que se ejecute. Te recomendamos que implementes nuestra clase abstracta básica BaseMultiTargetPreparer, que proporciona una función de inhabilitación integrada para inhabilitar fácilmente un preparador.
Los preparadores de múltiples destinos también proporcionan directamente un método tearDown para cualquier operación de limpieza.
Recomendación
Recomendamos limitar cada preparador a una sola función principal. Esto permite reutilizar los preparadores con mayor facilidad.
También consulta la lista de preparadores disponibles antes de agregar uno nuevo para evitar duplicar el trabajo. Los preparadores están disponibles en tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/.
No hay límite en la cantidad de dispositivos que puede configurar un preparador de múltiples destinos. Todos los dispositivos están disponibles en IInvocationContext de la interfaz para implementar.
Configuración de 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_preparerejecutasetUpdespués detarget_preparer.multi_target_preparerejecutatearDownantes que los limpiadores de destino.
Esto no siempre permite realizar todos los pasos de configuración, por lo que es posible definir el preparador de múltiples destinos como multi_pre_target_preparer en el XML y ejecutarlo antes de las instancias de target_preparer.
<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>
El orden general de las operaciones es el siguiente:
multi_pre_target_preparer setUptarget_preparer setUpmulti_target_preparer setUpmulti_target_preparer tearDowntarget_preparer tearDownmulti_pre_target_preparer tearDown
Cualquier preparador de múltiples destinos se puede declarar como multi_target_preparer o multi_pre_target_preparer según el orden de configuración que se requiera.