1、首先我们对测试用例进行测试分组,即@Test(groups=“xxxx”)
2、其次添加 @BeforeGroups(groups =“xx分组名称”)
@AfterGroups(groups =“xx分组名称”)
public class test {
@Test(groups = "server")
public void serverTest1(){
System.out.println("服务端测试用例1");
}
@Test(groups = "server")
public void servetTest2(){
System.out.println("服务端测试用例2");
}
@Test(groups="client")
public void clientTest1(){
System.out.println("客户端测试用例1");
}
@Test(groups="client")
public void clientTest2(){
System.out.println("客户端测试用例2");
}
@BeforeGroups(groups = "server")
public void beforeClientGroups(){
System.out.println("---客户端组前置步骤---");
}
@AfterGroups(groups = "server")
public void afterClientGroups(){
System.out.println("---客户端组后置步骤---");
}
}
执行上文中的test类,结果如下:
=执行结果
//只有groups='client’的组别设置了前置步骤,后置步骤
—客户端组前置步骤—
客户端测试用例1
客户端测试用例2
—客户端组后置步骤—
服务端测试用例1
服务端测试用例2
总结:由此可见,BeforeGroups和AfterGroups只对对应的groups成员有效
3、常见用法:分组一般是有很多的测试用例,对所有用到的用例要进行分组,存在于多个class文件中的用例也需进行分组,注意:不同类中的分组名称需要标识一致
方法:通过xml文件控制,运行那个groups分组用例
创建不同的测试类:
public class Testa {
@Test(groups = "级别1")
public void testb_1(){
System.out.println("testaaa-1级别1执行");
}
@Test(groups="级别2")
public void testb_2(){
System.out.println("testaaa-2级别2执行");
}
}
public class Testb {
@Test(groups="级别1")
public void testb_1(){
System.out.println("testbbb_1级别1执行了");
}
@Test(groups="级别2")
public void testb_2(){
System.out.println("testbbb_2级别2执行了");
}
}
创建testGroups.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="套件">
<test name="仅仅运行groups=级别1">
<groups>
<run>
<include name="级别1"/>
</run>
</groups>
<classes>
<class name="com.lingyue.xmf.auto.test.common.local.demo.Testa"/>
<class name="com.lingyue.xmf.auto.test.common.local.demo.Testb"/>
</classes>
</test>
</suite>
执行testGroups.xml文件,执行结果如下:
原文链接:https://www.cnblogs.com/jesse-zhao/p/14802202.html