Préparateurs multi-cibles

Semblable à un préparateur cible , un préparateur multi-cible permet la configuration de plusieurs appareils ensemble. Par exemple, cela serait utilisé lors de la connexion de deux appareils avec Bluetooth à des fins de test.

Interface de base

L'interface de base est IMultiTargetPreparer , qui permet d'implémenter une méthode setUp à exécuter. Nous vous recommandons d'implémenter notre classe abstraite de base BaseMultiTargetPreparer , qui fournit une fonctionnalité de désactivation intégrée pour désactiver facilement un préparateur.

Les préparateurs multi-cibles fournissent également directement une méthode tearDown pour toute opération de nettoyage.

Recommandation

Nous recommandons de limiter chaque préparateur à une seule fonction principale. Cela permet une réutilisation plus facile des préparateurs.

Vérifiez également la liste des préparateurs disponibles avant d’en ajouter un nouveau, pour éviter les duplications de travail. Les préparateurs sont disponibles dans tools/tradefederation/core/src/com/android/tradefed/targetprep/multi/ .

Il n'y a pas de limite au nombre d'appareils qu'un préparateur multi-cibles peut configurer. Tous les appareils sont disponibles dans IInvocationContext de l'interface à implémenter.

Configuration XML

La balise d'objet est multi_target_preparer , par exemple :

<multi_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_target_preparer>

Ordre d'opération

  1. multi_target_preparer exécute setUp après target_preparer .
  2. multi_target_preparer exécute tearDown avant les nettoyeurs de cibles.

Cela ne permet pas toujours d'exécuter toutes les étapes de configuration, il est donc possible dans le XML de définir le préparateur multi-cible comme multi_pre_target_preparer et de l'exécuter avant les instances target_preparer .

<multi_pre_target_preparer class="com.android.tradefed.targetprep.multi.HelloWorldMultiTargetPreparer">
</multi_pre_target_preparer>

L’ordre général des opérations est le suivant :

  1. multi_pre_target_preparer setUp
  2. target_preparer setUp
  3. multi_target_preparer setUp
  4. multi_target_preparer tearDown
  5. target_preparer tearDown
  6. multi_pre_target_preparer tearDown

Tout préparateur multi-cible peut être déclaré comme multi_target_preparer ou multi_pre_target_preparer selon l'ordre de configuration requis.