TestNG 基礎用法

一. 控制Case 執行順序
控制Case的執行順序有兩種,一種直接在@Test後面跟上priority參數,例如下創建一個類,編寫3個測試:

public class TestDemo {

    @Test(priority = 3)
    public void test01() {
        System.out.println("test01");
    }

    @Test(priority = 2)
    public void test02() {
        System.out.println("test02");
    }

    @Test(priority = 1)
    public void test03() {
        System.out.println("test03");
    }

}

執行結果:

可以看到最後執行順序是3,2,1

第二種控制Case執行順序的可以通過xml文件,在 <methods>標籤裏面設置,例如,
注意:preserve-order=”true” 必須設置爲true

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="test">
    <test verbose="1" name="test" annotations="JDK" preserve-order="true">
        <classes>

            <class name="cn.demo.TestDemo"/>
            <methods>
            <include name="test03"></include>
            <include name="test02"></include>
            <include name="test01"></include>
            </methods>

            <class name="cn.demo.AestDemo"/>

        </classes>
    </test>
</suite>

XML文件不僅僅可以控制case的執行順序,也可以控制執行類的順序,上面的AestDemo在TestDemo類後執行。

二. Case間的依賴關係
假設上面離職 test01運行之前必須先運行test02,有不考慮通過設計執行順序來控制,那麼可以考慮設置依賴。 設置依賴在@Test後面跟上dependsOnMethods參數,具體代碼如下(注意需去掉剛xml控制的執行順序):

public class TestDemo {

    @Test(dependsOnMethods = "test02")
    public void test01() {
        System.out.println("test01");
    }

    @Test
    public void test02() {
        System.out.println("test02");
    }

    @Test
    public void test03() {
        System.out.println("test03");
    }

執行結果:
這裏寫圖片描述

未完待續。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章