testng-组测试

一:@Test(groups=“XXXX”)方式(方法分组)

package com.group;

import org.testng.annotations.AfterGroups;
import org.testng.annotations.BeforeGroups;
import org.testng.annotations.Test;

public class GroupsOnMethod {
@Test(groups = "server")
public void test01(){
System.out.println("这是服务端的测试方法11111111111");
}
@Test(groups = "server")
public void test02(){
System.out.println("这是服务端的测试方法222222222222");
}

@Test(groups = "client")
public void test03(){
System.out.println("这是客户端的测试方法3333333333333");
}

@Test(groups = "client")
public void test04(){
System.out.println("这是客户端的测试方法4444444444444");
}

@BeforeGroups("server")
public void beforeGroupsOnServer(){
System.out.println("这是服务端之前执行的方法");
}
@AfterGroups("server")
public void AfterGroupsOnServer(){
System.out.println("这是服务端之后执行的方法");
}

@BeforeGroups("client")
public void beforeGroupsOnClient(){
System.out.println("这是客户端之前执行的方法");
}
@AfterGroups("client")
public void AfterGroupsOnClient(){
System.out.println("这是客户端之后执行的方法");
}


}

结果

这是服务端之前执行的方法
这是服务端的测试方法11111111111
这是服务端的测试方法222222222222
这是服务端之后执行的方法
这是客户端之前执行的方法
这是客户端的测试方法3333333333333
这是客户端的测试方法4444444444444
这是客户端之后执行的方法

===============================================
Default Suite
Total tests run: 4, Failures: 0, Skips: 0
===============================================

二:类分组(用xml来确定执行)---->run和groups标签 标签内的组类会被执行

类1

package com.group;

import org.testng.annotations.Test;

@Test(groups = "student")
public class GroupsOnClass01 {
public void student01(){
System.out.println("Class01组的stu方法111111111");
}

public void student02(){
System.out.println("Class01组的stu方法222222222");
}
}




类2
package com.group;

import org.testng.annotations.Test;

@Test(groups = "student")
public class GroupsOnClass02 {
public void student01(){
System.out.println("Class02组的stu方法111111111");
}
public void student02(){
System.out.println("Class02组的stu方法222222222");
}
}

类3
package com.group;

import org.testng.annotations.Test;

@Test(groups = "teacher")
public class GroupsOnClass03 {
public void teacher01(){
System.out.println("Class03组的teacher方法111111111");
}
public void teacher02(){
System.out.println("Class03组的teacher方法222222222");
}
}

配置文件groups.xml
<?xml version="1.0" encoding="UTF-8"?>
<suite name="suitename">
<test name="runAllgroup">
<classes>
<class name="com.group.GroupsOnClass01"></class>
<class name="com.group.GroupsOnClass02"></class>
<class name="com.group.GroupsOnClass03"></class>
</classes>
</test>
<test name="runStuAll">
//组测试(类)需要加一个run标签
<groups>
<run>
<include name="student"></include>

</run>
</groups>
<classes>
<class name="com.group.GroupsOnClass01"></class>
<class name="com.group.GroupsOnClass02"></class>
<class name="com.group.GroupsOnClass03"></class>
</classes>
</test>

</suite>
---------run和groups的标签确定执行的类组
结果

Class01组的stu方法111111111
Class01组的stu方法222222222
Class02组的stu方法111111111
Class02组的stu方法222222222
Class03组的teacher方法111111111
Class03组的teacher方法222222222


Class01组的stu方法111111111
Class01组的stu方法222222222
Class02组的stu方法111111111
Class02组的stu方法222222222

===============================================
suitename
Total tests run: 10, Failures: 0, Skips: 0
===============================================





原文地址:https://www.cnblogs.com/520502-thy/p/15085511.html