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_preparereseguesetUpdopotarget_preparer.multi_target_preparerviene eseguitotearDownprima 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 setUptarget_preparer setUpmulti_target_preparer setUpmulti_target_preparer tearDowntarget_preparer tearDownmulti_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.