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
===============================================