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
multi_target_preparereseguesetUpdopotarget_preparer.multi_target_preparereseguetearDownprima 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:
multi_pre_target_preparer setUptarget_preparer setUpmulti_target_preparer setUpmulti_target_preparer tearDowntarget_preparer tearDownmulti_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.