Les préparateurs de cible sont appelés avant les tests au niveau du test dans lequel ils sont définis. Cela permet de configurer n'importe quel appareil pour que les tests se déroulent correctement.
Interface de base
L'interface de base est ITargetPreparer
, qui permet l'exécution d'une méthode setUp
. Nous vous recommandons d'implémenter notre classe abstraite de base BaseTargetPreparer
, qui fournit une fonctionnalité de désactivation intégrée pour désactiver facilement un préparateur.
Interface plus claire
L'extension naturelle de setUp
est tearDown
, qui est fournie par une interface différente, ITargetCleaner
. Cela fournit l'interface tearDown
qui permet de nettoyer tout ce qui a été fait dans setUp
après l'exécution du test.
La classe BaseTargetPreparer
étend également ITargetCleaner
.
Recommandations
Nous vous recommandons de limiter chaque préparateur à une seule fonction principale, par exemple l'installation d'un APK ou l'exécution d'une commande. Cela permet de réutiliser plus facilement les préparateurs.
Consultez également la liste des préparateurs disponibles avant d'en ajouter un nouveau pour éviter de faire le même travail deux fois. Les préparateurs sont disponibles dans tools/tradefederation/core/src/com/android/tradefed/targetprep/
.
Configuration XML
La balise d'objet est target_preparer
, par exemple :
<target_preparer class="com.android.tradefed.targetprep.InstallApkSetup">
<option name="install-arg" value="-d"/>
</target_preparer>
Pour plus de contexte, consultez également Configurer des suites.
Configuration de premier niveau
S'il est spécifié dans une configuration de premier niveau, le préparateur ne s'exécute qu'une seule fois pour chaque appareil. cts-common.xml
est un exemple de configuration de premier niveau pour les tests CTS (Android Compatibility Test Suite).
Configuration au niveau du module
S'il est spécifié au niveau du module, le préparateur s'exécute toujours avant ce module. Par exemple, backup/AndroidTest.xml
définit la façon dont Tradefed exécute le module CTS backup
.
Notez que, bien que le préparateur s'exécute avant le module, il s'exécute après les vérificateurs d'état du système.