Introduction à TestNG

Introduction à TestNG
MIN
14 Mar 2024

Dans cet article, nous allons étudier – Qu’est-ce que TestNG ? Il s’agit d’un cadre de test largement utilisé. Il prend en charge tous les niveaux de test, des tests unitaires aux tests fonctionnels automatisés. Nous verrons son utilisation dans les tests Selenium et ses avantages.

Table des matières

Qu’est-ce que TestNG ?

TestNG est un framework de test inspiré de JUnit. Il offre plusieurs fonctionnalités telles que les tests pilotés par les données, la prise en charge de la paramétrisation, l’exécution parallèle des cas de test et le regroupement des cas de test, etc. Toutes ces fonctionnalités permettent de créer des projets de test robustes et puissants.

Nous pouvons facilement convertir une méthode ou une fonction en test en lui ajoutant une annotation – @Test. Un test simple en Java ressemble à ceci :

@Test

public void sampleTest() {

//Toute logique de test

System.out.println(« Hi ! ITtester here ! ») ;

}

Maintenant, soit dans le cas d’une exception, soit dans le cas d’une assertion échouée, le cas de test sera marqué comme ayant échoué. Dans le cas contraire, le test sera considéré comme réussi.

Fonctions de TestNG

  1. Différents types de demandes d’indemnisation

Il dispose d’une classe Assert qui fournit plusieurs méthodes prenant en charge différents types d’assertions. Ces assertions permettent, par exemple, de vérifier l’égalité entre le résultat attendu et le résultat réel, d’affirmer qu’une condition est vraie ou fausse, d’affirmer qu’une valeur est nulle ou non nulle, etc.

  1. Exécution parallèle des tests

En utilisant le fichier testNG.xml, nous pouvons exécuter les cas de test en parallèle. Cela permet de réduire la durée totale d’exécution des tests. L’exécution parallèle peut être réalisée à plusieurs niveaux – au niveau de la méthode, de la classe, du paquetage.

  1. Capacité à rendre les tests interdépendants

Nous pouvons rendre le test dépendant d’autres tests. Pour ce faire, vous pouvez utiliser les attributs « dependsOnMethods » et « dependsOnGroups » avec l’annotation @Test.

  1. Hiérarchisation des tests

Cette fonction permet d’attribuer une valeur numérique de priorité aux tests. La priorité par défaut est 0.

  1. Regroupement des tests

Permet de regrouper logiquement les cas de test. Cela permet d’exécuter des groupes de tests en parallèle, certaines opérations étant effectuées avant ou après l’exécution des tests appartenant au groupe.

  1. Tests basés sur des données

En utilisant @DataProvider, nous pouvons créer des tests axés sur les données. En utilisant cette annotation dataProvider, nous pouvons transmettre des données de test à la méthode de test.

  1. Rapports

Une fois le test exécuté, un rapport HTML est généré qui fournit un résumé tabulaire des résultats du test. Le format de rapport est également configurable par la mise en œuvre de l’auditeur.

  1. Paramétrage

Fournit un support inhérent au paramétrage en utilisant l’annotation @Parameters. En utilisant l’annotation @Parameters, nous pouvons passer une valeur de paramètre à la logique de test à partir du fichier testng.xml.

Avantages de TestNG

  • Il permet de réduire le temps global d’exécution des tests en offrant la possibilité d’exécuter des tests en parallèle.
  • Il peut être facilement intégré à des outils de CICD tels que Jenkins. Vous pouvez le faire en utilisant le fichier testNG.xml.
  • Il n’est pas nécessaire de coder les données en dur. Pour ce faire, vous pouvez utiliser diverses annotations telles que @DataProvider, @Parameter, etc.
  • Nous pouvons faire dépendre un test d’un autre. Cela permet de gagner du temps en sautant le test dépendant si le test parent échoue.
  • En regroupant les tests, nous pouvons créer différentes suites de tests telles que – sanity, smoke, regression etc. En outre, nous pouvons intégrer et exécuter ces suites de tests à l’aide d’outils CICD tels que – Jenkins.

Installation de TestNG

TestNG n’a pas besoin d’être spécialement installé. Il suffit de télécharger le fichier jar de testNG et de l’ajouter en tant que bibliothèque ou de l’inclure via maven.

<dépendance>

<groupId>org.testng</groupId>

<artifactId>testng</artifactId>

<version>6.10</version>

<scope>test</scope>

</dependency>

TestNG avec les paramètres d’Eclipse

Afin d’intégrer TestNG à l’IDE Eclipse, nous pouvons suivre les étapes suivantes listées sur – TestNG.org. Pour ce faire, nous pouvons utiliser soit la place de marché Eclipse, soit la page de mise à jour.

Par le biais du marché Eclipse

Allez sur la page TestNG de la place de marché Eclipse et faites glisser l’icône « Install » sur le bureau.

Installer à partir de la page des mises à jour

  1. Sélectionnez « Aide / Installer un nouveau logiciel… ».
  2. Dans le champ « Travailler avec : », entrez l’URL de la page de mise à jour :
    Page de mise à jour de la version – https://dl.bintray.com/testng-team/testng-eclipse-release/.
  3. Cochez la case à côté de l’URL.
  4. Cliquez sur le bouton « Suivant ».
  5. Suivez ensuite les étapes de la page Eclipse.

Lorsque vous avez terminé, créez un exemple de test comme suit :

@Test

public void sampleTest() {

System.out.println(« Hello World ! ») ;

}

Nous pouvons maintenant exécuter le test en faisant un clic droit sur la classe et en cliquant sur « Exécuter sous ». Cliquez ensuite sur « TestNG Test ». De cette manière, nous pouvons exécuter les cas de test.

Comme vous pouvez le voir, les résultats du test sont sous forme de réussite, d’échec et d’omission. Cela signifie que nous nous sommes installés correctement.