Tout ce que vous devez savoir sur les annotations TestNG dans Selenium



Cet article sur les annotations TestNG dans Selenium vous aidera à comprendre les différentes annotations prises en charge par TestNG dans Selenium à l'aide d'exemples.

Depuis le concept de a été introduite, de nombreuses méthodologies de test ont évolué, les paradigmes ont changé mais les exigences ont en quelque sorte triomphé pour rester constantes. Une de ces méthodes est TestNG ce qui nous aide à regrouper les cas de test en différentes sections de code à l'aide d'annotations. Mais comment ça marche? Comprenons ce concept à travers cet article sur les annotations TestNG dans .

Je couvrirai les sujets mentionnés ci-dessous dans cet article:





qu'est-ce qu'une socket en java

Introduction à TestNG

TestNG signifie Testez la nouvelle génération et c'est un framework d'automatisation de test open-source inspiré par JUnit et NUnit. Bien, TestNG n'est pas seulement inspiré mais c'est une version améliorée de ces deux frameworks. Alors, quelle est la mise à niveau ici? La mise à niveau avec TestNG est qu'elle fournit des fonctionnalités supplémentaires telles que les annotations de test, le regroupement, la hiérarchisation, le paramétrage et les techniques de séquençage dans le code, ce qui n'était pas possible auparavant.

Introduction à TestNG - Annotations TestNG - EdurekaIl gère non seulement les cas de test, mais même des rapports détaillés de tests peuvent également être obtenus en utilisant TestNG. Il y aura un résumé détaillé qui affichera le nombre de cas de test qui ont échoué. En outre, les bogues peuvent être localisés avec précision et corrigés au plus tôt. Maintenant que vous savez ce qu'est TestNG, voyons pourquoi utiliser TestNG dans Selenium.



Pourquoi utiliser TestNG dans Selenium?

Les développeurs de logiciels du monde entier conviendront à l'unanimité que l'écriture de code dans des cas de test économise une bonne partie de leur temps de débogage. Pourquoi? En effet, les cas de test aident à créer un code robuste et sans erreur en divisant le code entier en cas de test plus petits, puis en évaluant chacun de ces cas de test en conditions de réussite / échec, vous pouvez créer un code sans erreur. Puisque ne prend pas en charge l'exécution de code dans les cas de test, TestNG entre en scène, ce qui aidera à l'exécution des cas de test.

TestNG prend également en charge les fonctionnalités suivantes:

  • Il génère le rapport dans un format approprié qui comprend un certain nombre de cas de test exécutés, le nombre de cas de test ayant échoué et des cas de test qui ont été ignorés.
  • Plusieurs cas de test peuvent être regroupés plus facilement en les convertissant en fichier TestNG.xml. Ici, vous pouvez définir les priorités pour exécuter les cas de test.
  • En utilisant TestNG, vous pouvez exécuter plusieurs cas de test sur plusieurs navigateurs, c'est-à-dire tests multi-navigateurs .
  • Le framework de test peut être facilement intégré à des outils tels que Maven, Jenkins, etc.

Maintenant que vous savez ce qu'est TestNG et pourquoi il est utilisé, allons plus loin et connaissons les différentes annotations prises en charge par TestNG dans Selenium.

Annotations TestNG

Les annotations TestNG dans Selenium sont utilisées pour contrôler la prochaine méthode à exécuter. Les annotations de test sont définies avant chaque méthode dans le code de test. Si une méthode n'est pas précédée d'annotations, cette méthode sera ignorée et ne sera pas exécutée dans le cadre du code de test. Pour les définir, les méthodes doivent être simplement annotées avec ‘ @Tester «.



Types d'annotations TestNG:

Vous trouverez ci-dessous la liste des annotations prises en charge par TestNG dans le sélénium.

  • @BeforeMethod: Une méthode avec cette annotation sera exécutée avant chaque @tester méthode annotée.
  • @AfterMethod: Ce l'annotation sera exécutée après chaque @tester méthode annotée.
  • @Avant les cours: Cette annotation sera exécutée avant premier test exécution de la méthode. Il ne s'exécute qu'une seule fois par classe.
  • @AfterClass: T son annotation sera exécutée une fois que toutes les méthodes de test de la classe courante auront été exécutées
  • @BeforeTest: Une méthode avec cette annotation sera exécutée avant premier test méthode annotée.
  • @AfterTest: Une méthode avec cette annotation sera exécutée lorsque tout @Tester les méthodes annotées complètent l'exécution des classes insérées dans TestNG.xml fichier.
  • @BeforeSuite: Cette annotation s'exécutera une seule fois avant tous les tests de la suite ont été exécutés
  • @AfterSuite: Une méthode avec cette annotation s'exécutera une fois après l'exécution de tous les tests de la suite s'est déroulée
  • @BeforeGroups: Cette méthode annotée s'exécutera avant le premier essai de ce groupe spécifique.
  • @AfterGroups: Cette méthode annotée s'exécutera après toutes les méthodes de test de ce groupe achève son exécution.

Il s'agit donc d'annotations dans TestNG. Allons maintenant plus loin et comprenons comment écrire un premier cas de test à l'aide de TestNG.

Création de cas de test à l'aide d'annotations TestNG

Les différentes étapes impliquées dans la création de cas de test à l'aide de TestNG Annotation sont les suivantes:

  1. Créez un projet et ajoutez la bibliothèque TestNG.
  2. Créez un fichier de classe et codez le programme
  3. Enfin, écrivez un fichier XML et exécutez-le sur TestNG Suite.

Si vous souhaitez obtenir plus de détails sur l'écriture d'un cas de test à l'aide de TestNG, veuillez consulter cet article sur Tutoriel TestNG . Maintenant, allons plus loin et comprenons comment les annotations TestNG vous aideront à regrouper les cas de test et à configurer votre programme.

Cas de test 1:

Dans ce cas de test, j'utiliserai trois annotations différentes et coderai le programme. Voyons comment faire cela avec l'exemple ci-dessous.

package co.edureka.pages import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import org.testng.Assert import org.testng.annotations.AfterTest import org.testng.annotations.BeforeTest import org.testng .annotations.Test classe publique AnnotationExample {public String baseUrl = 'https://www.edureka.co/' String driverPath = 'C: //Users//Neha_Vaidya//Desktop//chromedriver_win32//chromedriver.exe' public WebDriver driver @BeforeTest public void launchBrowser () {System.out.println ('lancement du navigateur Chrome') System.setProperty ('webdriver.chrome.driver', driverPath) driver = new ChromeDriver () driver.get (baseUrl)} @Test public void verifyHomepageTitle () String expectedTitle = 'Formation en ligne animée par un instructeur avec assistance à vie 24h / 24 et 7j / 7 @AfterTest public void terminateBrowser () {driver.close ()}}

Fondamentalement, je veux vérifier si le titre réel de la page Web Edureka correspond ou non au titre attendu. Alors, j'utilise d'abord ' @BeforeTest » Annotation et création d'une instance de pilote de navigateur et navigation sur le site Web d'Edureka à l'aide du driver.get () méthode. Voici donc les étapes à suivre avant le test.

Ensuite, lors de ce test, je veux vérifier si le titre attendu et le titre réel correspondent ou non. C’est pourquoi je spécifie toutes les étapes avec @Test Annotation. Enfin, je souhaite fermer le pilote et terminer le navigateur après le test. C’est pourquoi j’utilise @AfterTest Annotation et fermeture du pilote. C'est ainsi que je regroupe tout le code en différentes annotations et exécute le cas de test. Exécutons le programme en tant que TestNG Test et vérifions la sortie.

Vous pouvez voir dans l'instantané que le scénario de test s'exécute avec succès sur un test et une suite par défaut. En outre, le scénario de test a réussi et il n'y a pas non plus d'échec.

Voyons maintenant un autre exemple pour comprendre en profondeur le flux d’exécution de diverses annotations. Il est très nécessaire de connaître le flux d'exécution des annotations. Alors, jetons un coup d'œil à l'instantané ci-dessous pour en savoir plus.

trouver la longueur du tableau javascript

Le flux d'exécution des annotations sera comme indiqué dans l'instantané ci-dessus. Voyons maintenant un autre exemple pour comprendre la même chose.

Cas de test 2:

package co.edureka.pages import org.testng.annotations.AfterClass import org.testng.annotations.AfterMethod import org.testng.annotations.AfterSuite import org.testng.annotations.AfterTest import org.testng.annotations.BeforeClass import org.testng .annotations.BeforeMethod import org.testng.annotations.BeforeSuite import org.testng.annotations.BeforeTest import org.testng.annotations.Test public class testngAnnotations {// Test Case 1 @Test public void testCase1 () {System.out.println ('Test Case 1')} // Test Case 2 @Test public void testCase2 () {System.out.println ('Test Case 2')} @BeforeMethod public void beforeMethod () {System.out.println ('Before Method ')} @AfterMethod public void afterMethod () {System.out.println (' After Method ')} @BeforeClass public void beforeClass () {System.out.println (' Before Class ')} @AfterClass public void afterClass ( ) {System.out.println ('After Class')} @BeforeTest public void beforeTest () {System.out.println ('Before Test')} @AfterTest public void afterTest () {System.out.println ('After Test')} @BeforeSuite public void beforeSuite () {System.out.println ('Before Suite')} @AfterSuite public void afterSuite () {System.out.println ( 'Après la suite')}}

Dans le code ci-dessus, j'écris au hasard toutes les méthodes avec des annotations. Je n'en suis pas la séquence. Mais, lorsque j'exécute le programme, il suivra le même ordre. Vérifions maintenant la sortie.

[RemoteTestNG] a détecté TestNG version 6.14.2 Avant Suite Avant Test Avant Classe Avant Méthode Test Cas 1 Après Méthode Avant Méthode Test Cas 2 Après Méthode Après Classe Après Test PASSÉ: testCase1 PASSÉ: testCase2 ============ ===================================== Test par défaut Tests exécutés: 2, échecs: 0, sauts: 0 =============================================== Après la suite = ============================================== Suite par défaut Total des tests exécution: 2, échecs: 0, sauts: 0 ======================================= ========

À partir de la sortie ci-dessus, vous pouvez remarquer qu'il a exécuté à la fois les cas de test et Before Suite et After Suite exécutés une seule fois. En outre, le test s'est exécuté avec succès sur le test et la suite par défaut. C'est ainsi que vous devez exécuter les cas de test à l'aide d'annotations.Cela nous amène donc à la fin de cet article sur les annotations TestNG dans Selenium.

J'espère que vous avez compris les concepts et que cela a ajouté de la valeur à vos connaissances. Maintenant, si vous souhaitez obtenir plus d'informations sur Selenium, vous pouvez consulter l'article sur .

Si vous avez trouvé ceci 'Annotations TestNG dans Selenium 'Pertinent, Vérifiez par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de Annotations TestNG dans Selenium article et nous vous recontacterons.