Preparatori multi-target

Come un preparatore dei target, un preparatore multi-target consente di configurare più dispositivi contemporaneamente. Ad esempio, questo valore viene utilizzato quando si connettono due dispositivi tramite Bluetooth per i test.

Interfaccia di base

L'interfaccia di base è IMultiTargetPreparer, che consente di implementare un metodo setUp da eseguire. Ti consigliamo di implementare la nostra classe astratta di base BaseMultiTargetPreparer, che fornisce una funzionalità di disattivazione integrata per disattivare facilmente un preparatore.

I preparativi multi-target forniscono anche direttamente un metodo tearDown per qualsiasi operazione di pulizia.

Consiglio

Ti consigliamo di limitare ogni preparatore a una singola funzione principale. In questo modo, è più facile riutilizzare i preparati.

Controlla anche l'elenco dei preparatori disponibili prima di aggiungerne uno nuovo per evitare di duplicare il lavoro. I preparati sono disponibili in tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/.

Non esiste un limite al numero di dispositivi che può essere configurato da un preparatore multi-target. Tutti i dispositivi sono disponibili in IInvocationContext dell'interfaccia da implementare.

Configurazione XML

Il tag dell'oggetto è multi_target_preparer, ad esempio:

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

Ordine di operazione

  1. multi_target_preparer esegue setUp dopo target_preparer.
  2. multi_target_preparer esegue tearDown prima dei detergenti target.

Questo non consente sempre l'esecuzione di tutti i passaggi di configurazione, pertanto è possibile nel file XML definire il preparatore multitarget come multi_pre_target_preparer ed eseguirlo prima delle istanze target_preparer.

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

L'ordine di esecuzione generale è il seguente:

  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

Qualsiasi preparatore multitarget può essere dichiarato come multi_target_preparer o multi_pre_target_preparer a seconda dell'ordine di configurazione richiesto.