TestNG测试套件
2019-07-26 本文已影响0人
Lutous
测试套件在XML文件配置
套件用<suite>标签定义,可以包含一个或多个测试类,用<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">
<!-- 只执行该类下面的某个方法 -->
<!-- exclude标签会排除某个方法 -->
<methods>
<include name="weiXinPay"/>
</methods>
</class>
</classes>
</test>
</suite>
执行结果如下:
beforeSuite运行
beforeTest运行
淘宝登录成功!
afterTest运行
beforeTest运行
微信支付成功!
afterTest运行
afterSuite运行
在xml中指定要运行的整个包来执行套件测试
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<!-- suite为根标签,一个testng.xml中只有一个suite节点 -->
<suite name="suitePackage">
<!-- 一个suite下面有N个test标签 -->
<test verbose="2" preserve-order="true" name="all">
<packages>
<package name="com.janson.suite"/>
</packages>
</test>
</suite>
运行之后会将com.janson.suite包下面的三个类:SuiteConfig、LoginTest、PayTest都执行
执行结果如下:
beforeSuite运行
beforeTest运行
淘宝登录成功!
支付宝支付成功!
微信支付成功!
afterTest运行
afterSuite运行
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运行");
}
}
package com.janson.suite;
import org.testng.annotations.Test;
public class LoginTest {
@Test
public void loginTaobao() {
System.out.println("淘宝登录成功!");
}
}
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("微信支付成功!");
}
}