introduction junit framework
Dieses Tutorial gibt einen Einblick in JUnit und seine Verwendung in Selenium-Skripten. Dies ist Tutorial Nr. 11 in unserem umfassende Selenium-Tutorials.
Grundsätzlich ist JUnit ein Open-Source-Tool zum Testen von Einheiten und wird zum Testen kleiner / großer Codeeinheiten verwendet. Um den JUnit-Test auszuführen, müssen Sie kein Klassenobjekt erstellen oder die Hauptmethode definieren. JUnit Stellt eine Assertionsbibliothek bereit, mit der das Testergebnis ausgewertet wird. Anmerkungen von JUnit werden verwendet, um die Testmethode auszuführen. JUnit wird auch verwendet, um die Automation Suite mit mehreren Testfällen auszuführen.
Was du lernen wirst:
- Hinzufügen einer JUnit-Bibliothek in einem Java-Projekt
- JUnit-Anmerkungen, die in Selenium-Skripten verwendet werden
- JUnit Assertions
- Fazit:
- Literatur-Empfehlungen
Hinzufügen einer JUnit-Bibliothek in einem Java-Projekt
Zunächst erfahren Sie, wie Sie die JUnit-Bibliothek in Ihr Java-Projekt einfügen:
Unterschied zwischen Systemtests und Benutzerakzeptanztests
Schritt 1: Klicken Sie mit der rechten Maustaste auf Java-Projekt-> Erstellungspfad-> Erstellungspfad konfigurieren
Schritt 2: Klicken Sie auf Bibliotheken-> Bibliothek hinzufügen
Schritt 3: Klicken Sie auf Junit.
Schritt 4: Wählen Sie Junit4-> Fertig stellen
Schritt 5: OK klicken.
Es gibt viele Frameworks wie Data Driven Framework, Keyword Driven Framework und Hybrid Framework, die das JUnit-Tool als Testläufer verwenden und dabei helfen, die Stapelausführung und Berichterstellung zu starten.
JUnit-Anmerkungen, die in Selenium-Skripten verwendet werden
In Junit sind viele Anmerkungen verfügbar. Hier haben wir einige Anmerkungen beschrieben, die in Selenium-Skripten und -Frameworks sehr häufig verwendet werden.
# 1. @Prüfung
@Prüfung Annotation wird verwendet, um einen Junit-Test auszuführen.
Beispiel ::
@Test public void junitTest() { System.out.println('Running Junit test'); Assert.assertEquals(1,1); }
So führen Sie einen JUnit-Test durch:
Navigieren Sie zu Ausführen -> Als JUnit-Test ausführen
# 2. @Vor:
@Vor Annotation wird verwendet, um einen bestimmten Test vor jedem Test auszuführen.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } }
Ausgabe:
Laufen vor dem Test
Junit-Test ausführen
Beispiel für eine Voranmerkung mit einer Zwei-Junit-Testmethode.
public class Junttest { @Before public void beforeTest(){ System.out.println('Running before test'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } }
Ausgabe:
Laufen vor dem Test
JUnit-Test ausführen
Laufen vor dem Test
Ausführen des zweiten JUnit-Tests
Vor dem Ausführen der JUnit-Testmethode wird die beforeTest-Methode ausgeführt. In ähnlicher Weise wird vor dem erneuten Ausführen von secondJuntiTest die beforeTest-Methode ausgeführt und eine Ausgabe wie oben erzeugt.
#3. @Vor dem Unterricht
Diese Methode wird einmal ausgeführt, bevor alle Tests ausgeführt werden. Die Methode muss eine statische Methode sein. Die Initialisierung von Eigenschaftendateien, Datenbanken usw. erfolgt in der beforeClass-Methode.
public class Junttest { @BeforeClass public static void beforeClassTest(){ System.out.println('Executed before class method'); } @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } }
Ausgabe:
Vor der Klassenmethode ausgeführt
JUnit-Test ausführen
Ausführen des zweiten JUnit-Tests
# 4. @Nach dem
Diese Methode wird nach jedem Test ausgeführt.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @After public void afterTest(){ System.out.println('Running after method'); } }
Ausgabe:
JUnit-Test ausführen
Laufen nach Methode
# 5. @Nach dem Unterricht
Wie @BeforeClass wird @AfterClass einmal ausgeführt, nachdem alle Testmethoden ausgeführt wurden. Wie eine @ BeforeClass-Methode muss die @ AfterClass-Methode eine statische Methode sein.
public class Junttest { @Test public void junitTest(){ System.out.println('Running Junit test'); } @Test public void secondJunitTest(){ System.out.println('Running second Junit test'); } @AfterClass Public static void afterClassTest(){ System.out.println('Running afterclass method'); } }
Ausgabe:
JUnit-Test ausführen
Ausführen des zweiten JUnit-Tests
Ausführen der Afterclass-Methode
JUnit-Zusicherungen werden verwendet, um bestimmte Bedingungen zu validieren und die Ausführung des Programms zu stoppen, wenn die Bedingungen nicht erfüllt sind.
# 6. Parametrisierte JUnit-Klasse:
Eine parametrisierte Klasse wird verwendet, um dasselbe Szenario mit mehreren Datensätzen auszuführen.
Unten sehen Sie das Beispiel zum Übergeben mehrerer Parameter in einem JUnit-Test.
Das Annotation-Tag @Parameters wird verwendet, um mehrere Daten zu übergeben. Hier haben wir ein 2 * 2-dimensionales Array genommen und die Daten können wie folgt visualisiert werden:
@RunWith(Parameterized.class) public class Junttest { public String name; public int age; public Junttest(String name,int age){ this.name=name; this.age=age; } @Test public void testMethod(){ System.out.println('Name is: '+name +' and age is: '+age); } @Parameters public static Collection parameter(){ Object()() pData=new Object(2)(2); pData(0)(0)='Tom'; pData(0)(1)=30; pData(1)(0)='Harry'; pData(1)(1)=40; return Arrays.asList(pData); } }
JUnit Assertions
JUnit assertEquals : Hiermit wird überprüft, ob die beiden Werte gleich sind, und die Bestätigung schlägt fehl, wenn beide Werte nicht gleich sind.
Dies vergleicht Boolean, int, String, float, long, char usw.
Syntax ::
Assert.assertEqual ('ausgenommener Wert', 'tatsächlicher Wert');
Beispiel ::
Assert.assertEqual ('ABC', 'ABC'); // Beide Zeichenfolgen sind gleich und die Bestätigung wird übergeben.
Assert.assertEqual ('ABC', 'DEF'); // Die Bestätigung schlägt fehl, da beide Zeichenfolgen nicht gleich sind.
Assert.assertEqual ('Strings sind nicht gleich', 'ABC', 'DEF'); // Nachricht wird ausgelöst, wenn die gleiche Bedingung nicht erfüllt ist.
Nachfolgend finden Sie ein Beispiel für die Verwendung der JUnit-Behauptung in Selen:
String username=driver.findElement(By.id(“username”)).getText(); String password=driver.findElement(By.id(“password”)).getText(); Assert.assertEqual(“Mismatch in both the string”, username, password);
Im obigen Beispiel schlägt die Zusicherung fehl, da beide Zeichenfolgen nicht gleich sind. Einer ist der Text des Benutzernamenfelds und der andere ist der Text des Passwortfeldes.
JUnit assertTrue : Gibt true zurück, wenn die Bedingung wahr ist, und die Zusicherung schlägt fehl, wenn die Bedingung falsch ist.
Assert.assertTrue ('Nachricht', Bedingung);
Assert.assertTrue ('Beide Zeichenfolgen sind nicht gleich' ('HelloWorld'). Equals ('HelloWorld'));
Hier wird die Behauptung übergeben, wenn beide Zeichenfolgen übereinstimmen. Die Nachricht wird gedruckt, wenn die Zusicherung fehlschlägt.
JUnit assertFalse : Gibt true zurück, wenn die Bedingung falsch ist, und die Zusicherung schlägt fehl, wenn die Bedingung wahr ist.
Assert.assertFalse ('Nachricht', Bedingung);
Assert.assertFalse ('Beide Zeichenfolgen sind gleich' ('Hallo'). Equals ('HelloWorld'));
Es wird kein Assertionsfehler auftreten, da die Bedingung falsch ist.
Fazit:
Die meisten Programmierer verwenden Junit, da es einfach ist und keine großen Anstrengungen zum Testen erfordert. Ein einfacher grüner oder roter Balken zeigt das tatsächliche Testergebnis an. Junit erleichtert das Leben, da es über eigene Bibliotheken und Anmerkungen verfügt. Hier haben wir auch häufig verwendete Anmerkungen beschrieben, die mit Selenskripten und Frameworks verwendet werden.
Weitere Einzelheiten zum Framework und zur Verwendung von JUnit-Annotationen werden im kommenden Tutorial erläutert, das ausschließlich dem Framework-Design mit Junit gewidmet ist. Dieses Tutorial hilft uns beim Entwerfen des Frameworks mit Junit.
Nächstes Tutorial # 12 :: Im nächsten Tutorial werden wir alles über TestNG, seine Funktionen und seine Anwendungen diskutieren. TestNG ist ein fortschrittliches Framework, mit dem die Vorteile sowohl von Entwicklern als auch von Testern genutzt werden können.
Literatur-Empfehlungen
- Cucumber Selenium Tutorial: Integration von Cucumber Java Selenium WebDriver
- Selenium Framework Erstellung und Zugriff auf Testdaten aus Excel - Selenium Tutorial # 21
- Implementierung unseres ersten WebDriver-Skripts - Selenium WebDriver Tutorial # 10
- Einführung in Selenium WebDriver - Selenium Tutorial # 8
- Ausführliche Eclipse-Tutorials für Anfänger
- Verwendung des TestNG-Frameworks zum Erstellen von Selenium-Skripten - TestNG Selenium Tutorial # 12
- Effizientes Selenium-Scripting und Fehlerbehebungsszenarien - Selenium-Lernprogramm Nr. 27
- Debuggen von Selenium-Skripten mit Protokollen (Log4j Tutorial) - Selenium Tutorial # 26