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

执行结果:
这里写图片描述

未完待续。。。

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