TestNG - Gruppentest

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.

  1. runSelenium () und runSelenium1 () gehören zur Gruppeselenium-test.

  2. testConnectOracle () und testConnectMsSQL () gehören zur Gruppedatabase.

  3. runFinal () wird ausgeführt, wenn die Gruppenselenium-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.

eclipse-testng