Cette section décrit les composants internes de Tradefed et leurs relations. Pour en savoir plus, consultez les sous-pages associées.
Configurations de test
Les configurations de test dans Tradefed sont décrites au format XML. Comprendre la structure de la configuration est essentiel pour exécuter et personnaliser les tests.
Structure des configurations TF
Configurations TF globales
Un fichier de configuration globale est une configuration XML Tradefed spéciale qui est chargée au démarrage de Tradefed via la variable d'environnement TF_GLOBAL_CONFIG. Il charge les objets liés au champ d'application de l'instance Tradefed qui affecteront le comportement global du harnais.
Détails de la configuration globale
Keystore
Keystore permet d'injecter des options de ligne de commande dans Tradefed à partir d'un keystore afin d'éviter de référencer directement la valeur dans la ligne de commande. Cela peut être utilisé pour masquer les mots de passe dans la ligne de commande en les récupérant directement à partir du keystore.
Gestionnaire d'appareils
Le gestionnaire d'appareils est chargé de suivre l'état des appareils sur une instance Tradefed en cours d'exécution. Des aspects tels que l'état d'allocation et l'état en ligne sont surveillés.
Planificateur de commandes de test
Le planificateur de commandes de test dans Tradefed prend les commandes à exécuter, les associe aux appareils et lance un appel de test.
Fournisseur de builds
Le fournisseur de builds est la première étape de tout appel de test. Il télécharge les ressources nécessaires pour configurer et exécuter les tests (images de build, APK de test, etc.). Il les référence également dans un objet BuildInfo qui sera transmis au test. Les ressources disponibles localement peuvent également être liées dans l'objet BuildInfo.
Préparateur et nettoyeur de cibles
Le préparateur de cibles propose des actions facultatives qui peuvent être effectuées pour configurer la cible testée dans un certain état, par exemple en flashant l'appareil, en définissant certaines propriétés et en se connectant au Wi-Fi.
Exécuteur de test
Un exécuteur de test dans Tradefed fait référence à l'objet responsable de l'exécution réelle du test. Différents exécuteurs de test exécutent les tests de différentes manières. Par exemple, un exécuteur de test d'instrumentation sera très différent d'un exécuteur de test JUnit.
Rapporteur de résultats
Le rapporteur de résultats dans Tradefed fait référence à l'objet qui envoie les résultats à une destination particulière. Chaque implémentation est généralement spécialisée pour différents backends de résultats. Le rapporteur de résultats est chargé de convertir le format des résultats Tradefed au format de destination.
Cette conception flexible permet à n'importe quel test de générer des rapports sur n'importe quelle destination de résultats et d'ajouter facilement d'autres tests de manière isolée.
- Ajouter un rapporteur de résultats
- Rapporteur de résultats et journaux
- Résumé du rapporteur de résultats
Collecteur de métriques
Le collecteur de métriques est un objet spécial dans Tradefed, orthogonal à l'exécution du test. Il permet de collecter des informations à différents moments du cycle de vie du test (par exemple, au début et à la fin du test). Étant donné que le collecteur est dissocié du test lui-même, les points peuvent être échangés, ajoutés et supprimés sans avoir à modifier le test lui-même.
Configuration au niveau de l'hôte
Cette section décrit les configurations applicables à l'exécution d'une instance Tradefed complète. Ces options affectent le comportement du harnais dans son ensemble afin de s'adapter à différents environnements, par exemple dans un réseau restreint.
Autres fonctionnalités
Les sections suivantes décrivent l'utilisation générale de Tradefed plutôt que les objets Tradefed.
Partitionnement Tradefed
Lorsque le corpus de test est volumineux ou que son exécution prend beaucoup de temps, il est possible de le répartir sur plusieurs appareils. Cette répartition est appelée partitionnement. Cette section décrit le fonctionnement du partitionnement et sa configuration.
Utiliser SL4A
Tradefed est compatible avec la couche de script pour Android, SL4A. Il s'agit d'un ensemble d'outils d'automatisation permettant d'appeler des API Android de manière indépendante de la plate-forme.
Téléchargement dynamique @option
Dans certains cas, les fichiers nécessaires à un test ou à une opération particulière ne sont pas disponibles localement. Cette fonctionnalité permet à Tradefed d'obtenir ces fichiers à partir d'un emplacement distant sans passer par un fournisseur de builds.