Simile a un preparatore di target , un preparatore multi-target consente la configurazione di più dispositivi insieme. Ad esempio, questo potrebbe essere utilizzato quando si collegano due dispositivi con Bluetooth per il 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 disabilitazione incorporata per disabilitare facilmente un preparatore.
I preparatori multi-target forniscono anche direttamente un metodo tearDown
per qualsiasi operazione di pulizia.
Raccomandazione
Si consiglia di limitare ciascun preparatore ad un'unica funzione principale. Ciò consente un riutilizzo più semplice dei preparatori.
Controlla anche l'elenco dei preparatori disponibili prima di aggiungerne uno nuovo, per evitare duplicazioni di lavoro. I preparatori sono disponibili in tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/
.
Non esiste alcun limite al numero di dispositivi che un preparatore multi-target può configurare. Tutti i dispositivi sono disponibili IInvocationContext
dell'interfaccia da implementare.
Configurazione XML
Il tag 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 pulitori di destinazione.
Ciò non consente sempre l'esecuzione di tutti i passaggi di configurazione, quindi è possibile nell'XML definire il preparatore multi-target 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 complessivo 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 installazione richiesto.