Preparatori multi-target

Simile a un preparatore di target, un preparatore di multi-target consente di configurare più dispositivi contemporaneamente. Ad esempio, questo preparatore 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 di multi-target forniscono anche direttamente un metodo tearDown per qualsiasi operazione di pulizia.

Suggerimento

Ti consigliamo di limitare ogni preparatore a una singola funzione principale. In questo modo, i preparatori possono essere riutilizzati più facilmente.

Inoltre, prima di aggiungerne uno nuovo, controlla l'elenco dei preparatori disponibili 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 di 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 delle operazioni

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

Questo non consente sempre di eseguire tutti i passaggi di configurazione, quindi è possibile definire il preparatore di multi-target come multi_pre_target_preparer nel file 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 di multi-target può essere dichiarato come multi_target_preparer o multi_pre_target_preparer a seconda dell'ordine di configurazione richiesto.