I preparatori target vengono richiamati prima dei test nel livello di test in cui sono definiti. In questo modo è possibile configurare qualsiasi dispositivo per una corretta esecuzione dei test.
Interfaccia di base
L'interfaccia di base è
ITargetPreparer
,
che consente di eseguire l'implementazione di un metodo setUp
. Consigliamo di implementare la nostra classe astratta di base BaseTargetPreparer
, che fornisce una funzionalità di disattivazione integrata per disabilitare facilmente un programma di preparazione.
Interfaccia più chiara
L'estensione naturale di setUp
è tearDown
ed è fornita da un'altra ITargetCleaner
. Ciò fornisce l'interfaccia tearDown
che consente di eseguire la pulizia di tutto ciò che è stato fatto in setUp
dopo
l'esecuzione del test.
La classe BaseTargetPreparer
estende anche ITargetCleaner
.
Consigli
Consigliamo di limitare ogni preparatore a una singola funzione principale, ad esempio l'installazione di un APK o l'esecuzione di un comando. Ciò consente di riutilizzare più facilmente i preparativi.
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/
.
Configurazione XML
Il tag dell'oggetto è target_preparer
, ad esempio:
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
Per maggiori informazioni, consulta anche Configurare le suite.
Configurazione di primo livello
Se specificato in una configurazione di primo livello, il preparatore viene eseguito una sola volta per ogni
dispositivo. Un esempio è cts-common.xml
, una configurazione di primo livello per i test della suite di test di compatibilità Android (CTS).
Configurazione a livello di modulo
Se specificato a livello di modulo, il preparatore viene eseguito sempre prima del modulo. Un esempio è backup/AndroidTest.xml
, che definisce il modo in cui Tradefed esegue il modulo backup
CTS.
Tieni presente che, sebbene lo strumento di preparazione venga eseguito prima del modulo, viene eseguito dopo eventuali controllori dello stato del sistema.