TestNG套件测试

Posted janson071

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TestNG套件测试相关的知识,希望对你有一定的参考价值。

测试套件是用于测试软件程序的行为或一组行为的测试用例集合。

在TestNG中,我们无法在测试源代码中定义一个套件,但它可以由一个XML文件表示,可以灵活配置要运行的测试。

套件用<suite>标签定义,可以包含一个或多个测试类,用<test>标签定义

下面演示了一个测试套件的xml文件中包含多个<test>:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!-- suite为根标签,一个testng.xml中只有一个suite节点 -->
<suite name="suiteTest">
    <!-- 一个suite下面有N个test标签 -->
    <test verbose="2" preserve-order="true" name="login">
        <classes>
            <class name="com.janson.suite.SuiteConfig"/>
            <class name="com.janson.suite.LoginTest"/>
        </classes>
    </test>
    <test verbose="2" preserve-order="true" name="pay">
        <classes>
            <class name="com.janson.suite.SuiteConfig"/>
            <class name="com.janson.suite.PayTest">
                <!--只执行该类下面的某个方法 -->
                <methods>
                    <include name="weiXinPay"/>
                </methods>
            </class>
        </classes>
    </test>
</suite>

com.janson.suite.SuiteConfig类

import org.testng.annotations.*;

public class SuiteConfig {
    @BeforeSuite
    public void beforeSuite() {
        System.out.println("beforeSuite运行");
    }

    @AfterSuite
    public void afterSuite() {
        System.out.println("afterSuite运行");
    }

    @BeforeTest
    public void beforeTest() {
        System.out.println("beforeTest运行");
    }

    @AfterTest
    public void afterTest() {
        System.out.println("afterTest运行");
    }
}

com.janson.suite.LoginTest类:

package com.janson.suite;

import org.testng.annotations.Test;

public class LoginTest {
    @Test
    public void loginTaobao() {
        System.out.println("淘宝登录成功!");
    }
}

com.janson.suite.PayTest类

package com.janson.suite;

import org.testng.annotations.Test;

public class PayTest {
    @Test
    public void alipay() {
        System.out.println("支付宝支付成功!");
    }

    @Test
    public void weiXinPay() {
        System.out.println("微信支付成功!");
    }
}

在suiteTest.xml中右击,run...

执行结果如下:

beforeSuite运行
beforeTest运行
淘宝登录成功!
afterTest运行
beforeTest运行
微信支付成功!
afterTest运行
afterSuite运行

 

以上是关于TestNG套件测试的主要内容,如果未能解决你的问题,请参考以下文章

TestNG [错误] 未找到测试套件。没啥可跑的

testNG 中的测试套件结果依赖性

TestNG 可以运行多个套件吗?

无法编译 TestNG 测试套件(Maven+Surefire)

Gradle 并行运行 TestNG 套件

SpringBootTest 和Testng组成测试套件