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 un preparatore multitarget 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_preparereseguetearDownprima degli strumenti di pulizia dei 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 setUptarget_preparer setUpmulti_target_preparer setUpmulti_target_preparer tearDowntarget_preparer tearDownmulti_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.