Preparatori multi-target

Simile a un preparatore target, un preparatore multi-target consente di configurare più dispositivi contemporaneamente. Ad esempio, questo valore viene utilizzato quando si collegano due dispositivi con 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 preparatori multi-target forniscono anche direttamente un metodo tearDown per qualsiasi operazione di pulizia.

Consiglio

Ti consigliamo di limitare ogni preparatore a una sola funzione principale. Ciò consente un riutilizzo più semplice dei preparatori.

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

Non esiste un limite al numero di dispositivi che un preparatore multi-target può configurare. 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 viene eseguito tearDown prima dei programmi di pulizia target.

Ciò non sempre consente l'esecuzione di tutti i passaggi di configurazione, pertanto è possibile definire il preparatore multi-target come multi_pre_target_preparer nell'XML ed eseguirlo prima delle istanze target_preparer.

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

L'ordine generale 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 configurazione richiesto.