Rubrique précédente: Barre d'outils de compagnonRubrique suivante: Editeur Complex Object Editor (COE) (Editeur d'objets complexes)


Hooks de DevTest

Les hooks de DevTest constituent un moyen automatique global d'exécuter la logique au début ou à la fin d'un scénario de test. Les hooks appliquent cette logique à tous les scénarios de test dans l'environnement sur lequel le hook est déployé.

Les hooks fonctionnent de la même façon que les compagnons. Ils s'exécutent avant le début d'un test et après la fin d'un test.

La seule différence réside dans le fait que les hooks sont définis au niveau de l'application et que tous les scénarios de test de DevTest les appliquent. Si un hook existe, il est utilisé pour tous les scénarios de test.

Un hook est un mécanisme qui permet d'inclure automatiquement la logique de configuration et/ou la logique de fin de test, pour tous les tests exécutés dans DevTest. Pour clarifier, un hook est un compagnon qui s'applique à l'échelle du système. Toutes les opérations qu'un hook peut effectuer peuvent être modélisées sous la forme de compagnon.

Les hooks sont utilisés pour configurer des environnements de test, eviter l'exécution de tests configurés de manière incorrecte ou non conformes aux recommandations définies ; ils permettent également d'effectuer des opérations communes.

Les hooks sont des classes Java qui se trouvent dans le classpath de DevTest. Les hooks ne sont pas définis dans le fichier .lisaextensions, mais dans les fichiers local.properties ou lisa.properties :

lisa.hooks=com.mypackage1.MyHook1, com.mypackage2.MyHook2

Les hooks sont exécutés ou appelés au démarrage et à la fin de tous les sous-processus dans un scénario de test, en plus du scénario de test lui-même. Si un scénario de test comprend trois sous-processus, la logique de hook est exécutée quatre fois. La logique est exécutée une fois pour le test principal et une fois pour chacun des trois sous-processus.

Pour empêcher un sous-processus d'exécuter startHook et/ou endHook, incluez l'action suivante :

String marker = (String)testExec.getStateValue(TestExec.FROM_PARENT_TEST_MARKER_KEY)
marker est défini sur true uniquement lorsqu'il s'agit d'un sous-processus.
if (!"true".equals(marker))
Définit toute les logiques de hook de début et de fin qui ne doivent pas être exécutées dans un sous-processus.

Différences entre hooks et compagnons