TestNG-Einführung

In diesem Artikel werden wir untersuchen – Was ist TestNG? Es ist ein weit verbreitetes Test-Framework. Es unterstützt alle Testebenen vom Unit-Test bis zum automatisierten Funktionstest. Wir werden sehen, wie es in Selenium-Tests verwendet wird und welche Vorteile es bietet.
Inhaltsübersicht
Was ist TestNG?
TestNG ist ein von JUnit inspiriertes Test-Framework. Es bietet verschiedene Funktionen wie datengesteuertes Testen, Unterstützung von Parametrisierung, parallele Testfallausführung und Testfallgruppierung, usw. All diese Funktionen helfen bei der Erstellung robuster und leistungsstarker Testprojekte.
Wir können eine Methode oder Funktion leicht in einen Test umwandeln, indem wir ihr eine Anmerkung hinzufügen – @Test. Ein einfacher Test in Java sieht wie folgt aus:
@Test
public void sampleTest() {
//Beliebige Testlogik
System.out.println(„Hallo! Hier ITtester!“);
}
Nun wird der Testfall entweder im Falle einer Ausnahme oder einer fehlgeschlagenen Behauptung als fehlgeschlagen markiert. Andernfalls wird der Test als bestanden markiert.
TestNG-Funktionen
- Verschiedene Arten von Forderungen
Sie verfügt über eine Assert-Klasse, die mehrere Methoden zur Unterstützung verschiedener Arten von Assertions bietet. Diese Behauptungen helfen beispielsweise bei der Überprüfung der Gleichheit von erwartetem und tatsächlichem Ergebnis, bei der Behauptung, dass eine Bedingung wahr oder falsch ist, bei der Behauptung, ob ein Wert null oder nicht null ist, usw.
- Parallele Testdurchführung
Mit Hilfe der Datei testNG.xml können wir die Testfälle parallel ausführen. Dies trägt dazu bei, die Gesamtdauer der Testausführung zu verkürzen. Die parallele Ausführung kann auf mehreren Ebenen erfolgen – auf Methoden-, Klassen- und Paketebene.
- Die Fähigkeit, Tests voneinander abhängig zu machen
Wir können den Test von anderen Tests abhängig machen. Dies kann mit den Attributen „dependsOnMethods“ und „dependsOnGroups“ mit der @Test-Annotation erfolgen.
- Priorisierung von Tests
Mit dieser Funktion können wir den Tests einen numerischen Prioritätswert zuweisen. Die Standardpriorität ist 0.
- Gruppierung von Tests
Unterstützt die logische Gruppierung von Testfällen. Dies ermöglicht es, Gruppen von Tests parallel laufen zu lassen, wobei bestimmte Operationen vor oder nach der Ausführung der zu der Gruppe gehörenden Tests durchgeführt werden.
- Datengesteuertes Testen
Mit @DataProvider können wir datengesteuerte Tests erstellen. Mit dieser dataProvider-Anmerkung können wir Testdaten an die Testmethode übergeben.
- Berichterstattung
Nach Ausführung des Tests wird ein HTML-Bericht erstellt, der eine tabellarische Zusammenfassung der Testergebnisse enthält. Das Berichtsformat ist ebenfalls durch die Hörerimplementierung konfigurierbar.
- Parametrisierung
Bietet inhärente Unterstützung für die Parametrisierung mit der @Parameters-Annotation. Mit der @Parameters-Annotation können wir einen Parameterwert aus der Datei testng.xml an die Testlogik übergeben.
Vorteile von TestNG
- Durch die Möglichkeit, Tests parallel auszuführen, kann die Gesamtdauer der Testausführung verkürzt werden.
- Es kann problemlos in CICD-Tools wie Jenkins integriert werden. Dies kann mit Hilfe der Datei testNG.xml geschehen.
- Es besteht keine Notwendigkeit, die Daten zu kodieren. Dies kann mit verschiedenen Anmerkungen wie @DataProvider, @Parameter usw. geschehen.
- Wir können einen Test von einem anderen abhängig machen. Dies spart Zeit, da der abhängige Test übersprungen wird, wenn der übergeordnete Test fehlschlägt.
- Durch die Gruppierung von Tests können wir verschiedene Testsuiten erstellen, z. B. Sanity, Smoke, Regression usw. Darüber hinaus können wir diese Testsuiten mit CICD-Tools wie Jenkins integrieren und ausführen.
Installieren von TestNG
TestNG muss nicht speziell installiert werden. Laden Sie einfach die testNG jar-Datei herunter und fügen Sie sie als Bibliothek hinzu oder binden Sie sie über Maven ein.
<Abhängigkeiten>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<Version>6.10</version>
<Umfang>test</scope>
</dependency>
TestNG mit Eclipse-Einstellungen
Um TestNG in die Eclipse IDE zu integrieren, können wir die folgenden Schritte befolgen, die unter TestNG.org aufgeführt sind. Hierfür können wir entweder den Eclipse Marketplace oder die Update-Seite verwenden.
Über den Eclipse-Marktplatz
Rufen Sie die TestNG-Seite auf dem Eclipse-Marktplatz auf und ziehen Sie das Symbol „Installieren“ auf den Desktop.
Installation über die Updateseite
- Wählen Sie „Hilfe / Neue Software installieren…“.
- Geben Sie in das Feld „Arbeiten mit:“ die URL der Aktualisierungsseite ein:
Aktualisierungsseite für die Veröffentlichung – https://dl.bintray.com/testng-team/testng-eclipse-release/. - Markieren Sie das Kästchen neben der URL.
- Klicken Sie auf die Schaltfläche „Weiter“.
- Folgen Sie dann den Schritten auf der Eclipse-Seite.
Wenn Sie fertig sind, erstellen Sie einen Mustertest wie folgt:
@Test
public void sampleTest() {
System.out.println(„Hallo Welt!“);
}

Jetzt können wir den Test ausführen, indem wir mit der rechten Maustaste auf die Klasse klicken und „Ausführen als“ wählen. Klicken Sie dann auf „TestNG Test“. Auf diese Weise können wir die Testfälle ausführen.
Wie Sie sehen können, sind die Testergebnisse in Form von Bestanden, Nicht bestanden und Übersprungen. Dann bedeutet das, dass wir richtig eingestellt haben.
