TestNG - Gruppentest
In diesem Tutorial zeigen wir Ihnen, wie Sie die Gruppentests in TestNG durchführen.
1. Gruppen zu Methoden
Sehen Sie sich ein Beispiel für eine Testgruppe an.
-
runSelenium () und runSelenium1 () gehören zur Gruppe
selenium-test
. -
testConnectOracle () und testConnectMsSQL () gehören zur Gruppe
database
. -
runFinal () wird ausgeführt, wenn die Gruppen
selenium-test
unddatabase
übergeben werden.
TestGroup.java
package com.example.testng.examples.group; import org.testng.annotations.AfterGroups; import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; public class TestGroup { @BeforeGroups("database") public void setupDB() { System.out.println("setupDB()"); } @AfterGroups("database") public void cleanDB() { System.out.println("cleanDB()"); } @Test(groups= "selenium-test") public void runSelenium() { System.out.println("runSelenium()"); } @Test(groups= "selenium-test") public void runSelenium1() { System.out.println("runSelenium()1"); } @Test(groups = "database") public void testConnectOracle() { System.out.println("testConnectOracle()"); } @Test(groups = "database") public void testConnectMsSQL() { System.out.println("testConnectMsSQL"); } @Test(dependsOnGroups = {"database","selenium-test"}) public void runFinal() { System.out.println("runFinal"); } }
Ausgabe
//group = selenium-test runSelenium() runSelenium()1 //group = database setupDB() testConnectMsSQL testConnectOracle() cleanDB() //dependsOnGroups = database, selenium-test runFinal PASSED: runSelenium PASSED: runSelenium1 PASSED: testConnectMsSQL PASSED: testConnectOracle PASSED: runFinal
2. Gruppen in der Klasse
Die "Gruppe" kann auf Klassenebene angewendet werden. Im folgenden Beispiel gehört jede öffentliche Methode dieser Klasse „TestSelenium“ zur Gruppeselenium-test
.
TestSelenium.java
package com.example.testng.examples.group; import org.testng.annotations.Test; @Test(groups= "selenium-test") public class TestSelenium { public void runSelenium() { System.out.println("runSelenium()"); } public void runSelenium1() { System.out.println("runSelenium()1"); } }
Erstellen Sie eine XML-Datei, um 2 Testklassen auszuführen.
testng.xml
Ausgabe
//test name = final runSelenium() runSelenium()1 setupDB() testConnectMsSQL testConnectOracle() cleanDB() runFinal //test name = selenium runSelenium() runSelenium()1 =============================================== TestAll Total tests run: 7, Failures: 0, Skips: 0 ===============================================
3. Verschiedene Beispiele
3.1 A test method can belong to multiple groups.
@Test(groups = {"mysql","database"}) public void testConnectMsSQL() { System.out.println("testConnectMsSQL"); }
3.2 The above result is executed via Eclipse TestNG Plugin.