Preparadores de varios destinos

Al igual que un preparador de destino, un preparador multiobjetivo permite configurar varios dispositivos juntos. Por ejemplo, esto 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 implementar nuestra clase abstracta básica BaseMultiTargetPreparer, que proporciona una función de inhabilitación integrada para inhabilitar fácilmente un preparador.

Los preparadores multiobjetivo 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 la reutilización más fácil de los preparadores.

Además, consulta la lista de preparados disponibles antes de agregar uno nuevo para evitar la duplicación de 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 varios 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

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

Esto no siempre permite el rendimiento de todos los pasos de configuración, por lo que es posible definir el preparador multiobjetivo como multi_pre_target_preparer en el archivo 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:

  1. multi_pre_target_preparer setUp
  2. target_preparer setUp
  3. multi_target_preparer setUp
  4. multi_target_preparer tearDown
  5. target_preparer tearDown
  6. multi_pre_target_preparer tearDown

Cualquier preparador de varios destinos se puede declarar como multi_target_preparer o multi_pre_target_preparer, según el orden de configuración que se requiera.