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
multi_target_preparer
eseguesetUp
dopotarget_preparer
.multi_target_preparer
eseguetearDown
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:
multi_pre_target_preparer setUp
target_preparer setUp
multi_target_preparer setUp
multi_target_preparer tearDown
target_preparer tearDown
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.