Introduction aux annotations TestNG

Comme nous le savons, TestNG est un framework d'automatisation de test qui est utilisé avec le framework Selenium pour faciliter le processus d'automatisation des tests. Mais la question se pose de savoir ce qu'est l'annotation et pourquoi elles sont utilisées? Les annotations dans TestNG sont une instruction / code qui est ajouté dans le code pour demander au compilateur de contrôler le flux d'exécution du scénario de test en fonction des exigences spécifiques. Comme il existe une séquence de méthodes, de variables et de fonctions qui doivent être suivies pour exécuter correctement les cas de test. Les annotations TestNG le guident vers le compilateur avec des annotations simples et faciles à comprendre et il n'est donc pas nécessaire d'utiliser la méthode principale statique dans le programme qui spécifie le début de l'exécution du code.

Annotations TestNG

Il existe différentes annotations TestNG et chaque annotation est utilisée dans un but différent. Les annotations avec leurs explications sont mentionnées ci-dessous:

1. @BeforeSuite: cette méthode annotée est exécutée avant l'exécution de tous les tests d'une suite de tests.

2. @AfterSuite: cette méthode annotée est exécutée après l'exécution de tous les tests d'une suite de tests particulière.

3. @BeforeTest: Cette méthode annotée est exécutée avant toute méthode de test liée à la classe définie à l'intérieur de la balise.

4. @AfterTest: Cette méthode annotée est exécutée après l'exécution de chaque méthode de test liée à la classe définie dans la balise.

5. @BeforeClass: Cette méthode annotée n'est exécutée qu'une seule fois et est exécutée avant la première méthode de test de la classe mentionnée.

6. @AfterClass: Cette méthode annotée n'est exécutée qu'une seule fois et est exécutée après l'exécution de toutes les méthodes de test de la classe mentionnée / actuelle.

7. @Test: cette méthode annotée marque toute classe ou méthode comme faisant partie d'un test qui doit être testé. Il a divers paramètres qui sont mentionnés ci-dessous:

  • alwaysRun: la méthode de test s'exécute toujours si elle est définie sur true, quel que soit le cas de test dont elle dépend échoue.
  • dataProvider: cela définit le nom du fournisseur de données pour le scénario de test.
  • dépend des méthodes: Ceci définit la liste des méthodes dont dépend cette méthode particulière.
  • dependOnGroups : Ceci définit la liste des groupes dont dépend cette méthode particulière.
  • Description : Il définit la description de la méthode
  • Activé : il définit si la méthode est activée ou non. S'il est défini sur false, cette méthode n'est pas exécutée ou est considérée comme absente.
  • Priorité : il définit la priorité de la méthode de test particulière après laquelle elle doit être exécutée. Les valeurs de priorité inférieures sont planifiées en premier et si les cas de test ne sont pas définis de valeurs de priorité, alors TestNG attribue une valeur de priorité par défaut (0).
  • successPercentage : il définit le pourcentage de réussite attendu de cette méthode.
  • invocationCount : comme son nom l'indique, il spécifie le nombre d'appels de la méthode.
  • timeOut : il définit le nombre maximal de fois qu'un scénario de test particulier doit prendre pour s'exécuter. Il est défini en millisecondes.
  • InvocationTimeOut : comme timeOut, il spécifie le nombre de millisecondes qu'une méthode doit prendre pour terminer tous les décomptes d'appel. Ses valeurs sont toujours fournies en millisecondes.

8. @BeforeMethod: Cette méthode annotée s'exécute avant chaque méthode de test.

9. @AfterMethod: Cette méthode annotée s'exécutera après chaque méthode de test.

10. @BeforeGroups: Cette méthode annotée s'exécutera avant la première méthode de test du groupe respectif qui fait partie de l'exécution.

11. @AfterGroups: Cette méthode annotée s'exécutera après toutes les méthodes de test ou après que la dernière méthode du groupe respectif soit invoquée et qui fait partie de l'exécution.

12. @DataProvider: Cette méthode annotée est utilisée pour fournir les données à la méthode de test. Il peut être utilisé avec n'importe quelle méthode @test afin de fournir l'entrée. Il est utilisé pour fournir les paramètres complexes aux méthodes @test qui ne peuvent pas être fournis dans le fichier XML. Chaque @DataProvider doit retourner Object () () où chaque Object () reçoit la liste des paramètres de la méthode de test. Il a un attribut comme «nom» qui doit être fourni, s'il n'est pas mentionné par le programmeur, alors sa valeur est définie sur le nom de la méthode. Il a un attribut avec le nom «parallèle» qui est par défaut «faux». Si la valeur est true, tous les cas de test

13. @Listeners: cette annotation est utilisée pour définir les écouteurs dans une méthode de test.

14. @Parameters: cette annotation est utilisée pour définir les paramètres dans une méthode de test. L'attribut 'Value' est utilisé contenant tous les noms de variables qui sont utilisés comme paramètres.

15. @Factory: cette annotation est utilisée pour marquer toute méthode de test en tant qu'usine et renvoie l'objet (Object ()) utilisé comme classes TestNG par le fichier TestNG.

Avantages des annotations TestNG

Vous trouverez ci-dessous certains des avantages des annotations TestNG:

  • TestNG est un framework utilisé avec le Selenium ayant des annotations qui fournissent un moyen facile et simple à utiliser pour contrôler le flux d'exécution des cas de test automatisés.
  • TestNG aide à exécuter / exécuter les cas de test de manière parallèle.
  • TestNG offre la possibilité de prioriser les cas de test en fonction des exigences du programmeur.
  • TestNG aide à regrouper les cas de test et à les exécuter en conséquence.
  • TestNG fournit un excellent moyen de génération de rapports en fonction des résultats des tests.
  • TestNG est fortement typé, ce qui définit la capacité de vérification des erreurs forte.
  • Il fournit un moyen facile de passer des paramètres et de fournir des entrées aux cas de test.
  • TestNG peut également se connecter à des sources de données externes.
  • Il n'y a pas besoin d'un modèle ou d'un format à suivre pour l'exécution des cas de test. Les annotations permettent d'appeler les méthodes en fonction des exigences spécifiques.
  • TestNG génère des rapports HTML représentant les données dans un format graphique qui est facile et plus pratique à comprendre.

Conclusion

La description ci-dessus explique clairement les différentes annotations de TestNG et le but de chaque annotation dans le contrôle du flux. Bien que les annotations de TestNG soient très faciles à utiliser et nous pouvons les utiliser selon les exigences, mais une compréhension approfondie de chaque annotation doit être recueillie avant de les utiliser dans l'automatisation des tests.

Articles recommandés

Ceci est un guide des annotations TestNG. Nous discutons ici de diverses annotations TestNG avec des avantages. Vous pouvez également consulter nos autres articles connexes pour en savoir plus-

  1. Annotations Java
  2. Installer TestNG
  3. Tests unitaires AngularJS
  4. Test de compatibilité