Preparador de objetivos múltiples

Similar a Target Preparer , el preparador de objetivos múltiples permite la configuración de varios dispositivos juntos. Por ejemplo, esto se usaría al conectar dos dispositivos a través de Bluetooth para realizar pruebas.

Interfaz básica

La interfaz base es IMultiTargetPreparer , que permite implementar un método de setUp que se ejecutará. Recomendamos implementar nuestra clase abstracta básica BaseMultiTargetPreparer , que proporciona una función de desactivación integrada para desactivar fácilmente un preparador.

Los preparadores de objetivos múltiples también proporcionan directamente un método de tearDown para cualquier operación de limpieza.

Recomendación

Recomendamos que cada preparador se limite a una sola función principal. Esto permite una reutilización más fácil de los preparadores.

También debe consultar la lista de preparadores disponibles antes de agregar uno nuevo para evitar la duplicación de trabajo. Los preparadores están disponibles en:

herramientas/tradefederation/core/src/com/android/tradefed/targetprep/multi/

No hay límite para la cantidad de dispositivos que un preparador de objetivos múltiples puede configurar. Todos los dispositivos están disponibles en el IInvocationContext de la interfaz a implementar.

Configuración XML

La etiqueta del objeto será multi_target_preparer , por ejemplo:

<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>

Orden de operación

  1. multi_target_preparer ejecuta setUp después de target_preparer
  2. multi_target_preparer ejecuta tearDown antes que los limpiadores de destino

Esto no siempre permite realizar todos los pasos de configuración, por lo que es posible en el XML definir el preparador de objetivos múltiples como multi_pre_target_preparer y ejecutarlo antes que target_preparers .

<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>

El orden general de operación es el siguiente:

  1. configuración de multi_pre_target_preparer(s)
  2. configuración de target_preparer(s)
  3. configuración de multi_target_preparer(s)
  4. multi_target_preparer(s) tearDown
  5. target_preparer(s) derribar
  6. multi_pre_target_preparer(s) tearDown

Cualquier preparador multiobjetivo puede declararse como multi_target_preparer o multi_pre_target_preparer según el orden de configuración requerido.