TestNG - Mehrere Testklassen ausführen (Suite-Test)

In diesem Tutorial zeigen wir Ihnen, wie Sie mehrere TestNG-Testfälle (Klassen) zusammen ausführen, auch bekannt als Suite-Test.
1. Testklassen
Überprüfen Sie die folgenden drei Testklassen.
TestConfig.java
package com.example.testng.examples.suite;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.BeforeTest;
//show the use of @BeforeSuite and @BeforeTest
public class TestConfig {
@BeforeSuite
public void testBeforeSuite() {
System.out.println("testBeforeSuite()");
}
@AfterSuite
public void testAfterSuite() {
System.out.println("testAfterSuite()");
}
@BeforeTest
public void testBeforeTest() {
System.out.println("testBeforeTest()");
}
@AfterTest
public void testAfterTest() {
System.out.println("testAfterTest()");
}
}
TestDatabase.java
package com.example.testng.examples.suite;
import org.testng.annotations.Test;
public class TestDatabase {
@Test(groups = "db")
public void testConnectOracle() {
System.out.println("testConnectOracle()");
}
@Test(groups = "db")
public void testConnectMsSQL() {
System.out.println("testConnectMsSQL");
}
@Test(groups = "db-nosql")
public void testConnectMongoDB() {
System.out.println("testConnectMongoDB");
}
@Test(groups = { "db", "brokenTests" })
public void testConnectMySQL() {
System.out.println("testConnectMySQL");
}
}
TestOrder.java
package com.example.testng.examples.suite;
import org.testng.annotations.Test;
public class TestOrder {
@Test(groups={"orderBo", "save"})
public void testMakeOrder() {
System.out.println("testMakeOrder");
}
@Test(groups={"orderBo", "save"})
public void testMakeEmptyOrder() {
System.out.println("testMakeEmptyOrder");
}
@Test(groups="orderBo")
public void testUpdateOrder() {
System.out.println("testUpdateOrder");
}
@Test(groups="orderBo")
public void testFindOrder() {
System.out.println("testFindOrder");
}
}
2. Testng.xml
Um die obigen Testklassen auszuführen, erstellen Sie eine XML-Datei -testng.xml (kann ein beliebiger Dateiname sein) und definieren Sie Details wie folgt:
testng.xml
Ausgabe
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng-all.xml testBeforeSuite() testBeforeTest() testFindOrder testMakeEmptyOrder testMakeOrder testUpdateOrder testAfterTest() testBeforeTest() testConnectMongoDB testConnectMsSQL testConnectMySQL testConnectOracle() testAfterTest() testAfterSuite()
3. Andere Beispiele
Hier sind einige Beispiele für die allgemeine Verwendung.
3.1 Geben Sie Paketnamen anstelle von Klassennamen an:
testng.xml
3.2 Geben Sie Methoden an, die eingeschlossen oder ausgeschlossen werden sollen:
testng.xml
Ausgabe
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng.xml testBeforeSuite() testBeforeTest() testMakeOrder testUpdateOrder testAfterTest() testAfterSuite()
3.3 Geben Sie Gruppen an, die eingeschlossen oder ausgeschlossen werden sollen:
testng.xml
Ausgabe
[TestNG] Running: C:\example_projects\TestNG\src\test\resources\testng.xml testConnectMsSQL testConnectOracle()