I preparatori target vengono richiamati prima dei test nel livello di test in cui sono definiti. In questo modo, la configurazione di qualsiasi dispositivo per l'esecuzione dei test avviene senza problemi.
Interfaccia di base
L'interfaccia di base è
ITargetPreparer
,
che consente di eseguire l'implementazione di un metodo setUp
. Ti consigliamo di implementare la nostra classe astratta di base
BaseTargetPreparer
,
che fornisce una funzionalità di disattivazione integrata per disattivare facilmente un preparatore.
Interfaccia più chiara
L'estensione naturale di setUp
è tearDown
ed è fornita da un'altra ITargetCleaner
. Fornisce l'interfaccia tearDown
che consente di ripulire tutto ciò che è stato eseguito 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. 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/
.
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
,
che è 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 in che modo TradeFed esegue il modulo CTS backup
.
Tieni presente che, sebbene lo strumento di preparazione venga eseguito prima del modulo, viene eseguito dopo eventuali controllori dello stato del sistema.