Preparatori multi-target

Simile a un preparatore di target , un preparatore multi-target consente la configurazione di più dispositivi insieme. Ad esempio, questo potrebbe essere utilizzato quando si collegano due dispositivi con Bluetooth per il 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 disabilitazione incorporata per disabilitare facilmente un preparatore.

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

Raccomandazione

Si consiglia di limitare ciascun preparatore ad un'unica funzione principale. Ciò consente un riutilizzo più semplice dei preparatori.

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

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

Configurazione XML

Il tag 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 pulitori di destinazione.

Ciò non consente sempre l'esecuzione di tutti i passaggi di configurazione, quindi è possibile nell'XML definire il preparatore multi-target 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 complessivo delle operazioni è 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 multi-target può essere dichiarato come multi_target_preparer o multi_pre_target_preparer a seconda dell'ordine di installazione richiesto.