このチュートリアルでは、TestNGでグループテストを行う方法を説明します。

1.メソッドに関するグループ

テストグループの例を確認します。

  1. runSelenium()とrunSelenium1()はグループ `selenium-test`に属します.

  2. testConnectOracle()およびtestConnectMsSQL()はグループに属します

データベース。

  1. グループ

    selenium-test`と

    database`が実行された場合、runFinal()が実行されます.

渡されます。

TestGroup.java

package com.mkyong.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");
    }

}

出力

//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.クラスのグループ

「グループ」はクラスレベルで適用できます。以下の例では、このクラス「TestSelenium」のすべてのパブリックメソッドは、グループ「セレンテスト」に属しています。

TestSelenium.java

package com.mkyong.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");
    }

}

2つのテストクラスを実行するXMLファイルを作成します。

testng.xml

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >

<suite name="TestAll">

    <test name="final">
        <classes>
            <class name="com.mkyong.testng.examples.group.TestSelenium"/>
            <class name="com.mkyong.testng.examples.group.TestGroup"/>
        </classes>
    </test>

    <!-- Run test method on group "selenium" only -->
    <test name="selenium">

        <groups>
            <run>
                <include name="selenium-test"/>
            </run>
        </groups>

        <classes>
            <class name="com.mkyong.testng.examples.group.TestSelenium"/>
            <class name="com.mkyong.testng.examples.group.TestGroup"/>
        </classes>

    </test>

</suite>

出力

//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.その他の例

3.1試験方法は複数のグループに属することができる。

    @Test(groups = {"mysql","database"})
    public void testConnectMsSQL() {
        System.out.println("testConnectMsSQL");
    }

3.2上記の結果は、Eclipse TestNG Pluginを介して実行されます。


eclipse-testng、width = 674、height = 276