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
multi_target_preparer
eseguesetUp
dopotarget_preparer
.multi_target_preparer
viene eseguitotearDown
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:
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 multi-target può essere dichiarato come multi_target_preparer
o
multi_pre_target_preparer
a seconda dell'ordine di configurazione richiesto.