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

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

testng-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()