TestNG - Test de groupes

TestNG - Test de groupes

Dans ce didacticiel, nous vous montrerons comment effectuer les tests de groupe dans TestNG.

1. Groupes sur les méthodes

Consultez un exemple de groupe de test.

  1. runSelenium () et runSelenium1 () appartiennent au groupeselenium-test.

  2. testConnectOracle () et testConnectMsSQL () appartiennent au groupedatabase.

  3. runFinal () sera exécuté si les groupesselenium-test etdatabase sont passés.

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");
    }

}

Sortie

//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. Groupes en classe

Le «groupe» peut être appliqué au niveau de la classe. Dans l'exemple ci-dessous, chaque méthode publique de cette classe «TestSelenium» appartient au groupeselenium-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");
    }

}

Créez un fichier XML pour exécuter 2 classes de test.

testng.xml





    
        
            
            
        
    

    
    

        
            
                
            
        

        
            
            
        

    

Sortie

//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. Exemples divers

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