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 }