testNG的分组通过xml文件<groups>标签和@Test(group="组名")来实现分组
xml中关于分组的详细介绍,通过groups 定义一个组,通过<run>标签运行指定的组
1 <groups> 2 <!--定义执行组名,在run中使用 3 @name 必填,组中组的名称 4 --> 5 <define name="xxx"> 6 <!--定义包含的测试组,测试方法属于哪个测试组在测试代码注释中定义。 7 @name 必填,需要包含进组中组的组名 8 --> 9 <include name="" /> 10 <include name="" /> 11 </define> 12 <!--运行组中组的配置--> 13 <run> 14 <!--执行指定的组中组,@name必填,与define name一致--> 15 <include name=""/> 16 <!--排除指定的组中组,@name必填,与define name一致--> 17 <exclude name=""/> 18 </run> 19 <!--组中组的依赖配置--> 20 <dependencies> 21 <!--配置依赖 22 @name 必填,需要依赖其他组的组名,define中设置 23 @depends-on 必填,被依赖的组名,define中设置,可以有多个,用空格隔开 24 --> 25 <group name="" depends-on=""></group> 26 <group name="" depends-on=""></group> 27 </dependencies> 28 </groups>
例子如下:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 3 <suite name="分组测试"> 4 <test verbose="2" name="baiduSearch"> 5 <groups> 6 <define name="A"> 7 <!-- f1为A组下的测试方法名 --> 8 <include name="f1"></include> 9 <include name="f4"></include> 10 </define> 11 <define name="B"> 12 <include name="f2"></include> 13 </define> 14 <define name="C"> 15 <include name="f3"></include> 16 </define> 17 <run> 18 <include name="A"></include> 19 </run> 20 </groups> 21 <classes> 22 <class name="com.selenium.code.TestNGGroupsTest"> 23 </class> 24 </classes> 25 </test> 26 </suite>
Java测试代码如下:
1 public class TestNGGroupsTest { 2 @Test(groups="A") 3 public void f1() { 4 5 System.out.println("我属于A组"); 6 } 7 @Test(groups="B") 8 public void f2() { 9 10 System.out.println("我属于B组"); 11 } 12 @Test(groups="C") 13 public void f3() { 14 15 System.out.println("我属于C组"); 16 } 17 @Test(groups="A") 18 public void f4() { 19 20 System.out.println("我属于A组"); 21 } 22 23 24 }