在TestNG include标签上执行的问题

时间:2018-12-13 10:05:35

标签: testng

下面是我的testng.xml文件,当执行时,它从一个类(A类)运行几个测试用例,然后从另一个类(B类)开始执行。跳过一些课程

<suite name="Suite">
<test name="test">
<groups>
  <run>    
    <include name="Server"/>
    <include name="Windows"/>
  </run>
</groups>
    <packages>
      <package name="com.cloud.eps.tests.all.*"></package>
      <package name="com.cloud.eps.tests.v1_0.*"></package>
      <package name="com.cloud.eps.tests.v1_1.*"></package>
   </packages>
 </test> <!-- Test -->
</suite> <!-- Suite -->

但是,如果我删除包含标签。然后,它会运行A类,然后是B类的所有测试用例

1 个答案:

答案 0 :(得分:0)

执行的测试方法的数量取决于“服务器”或“ Windows”组中包含的A类或B类中有多少种测试方法?

请注意,testng.xml中的组名查找属于该特定组的测试用例,并单独执行该特定测试用例。

考虑A类中的以下测试方法

@Test (groups = { "Server"})
public void testMethod1(){
}

@Test (groups = { "Windows"})   
public void testMethod2(){
}

@Test (groups = { "ThirdGroup"})
public void testMethod3(){
}

您的testng.xml具有

<groups>
  <run>    
    <include name="Server"/>
    <include name="Windows"/>
  </run>
</groups>

由于testng.xml中包含两个组,即“服务器”和“ Windows”,因此您的testng.xml仅选择前两个测试方法(testMethod1和testMethod2)保留第三个方法(testMethod3)因为它属于testng.xml中不包含的另一个组

在删除“ Included”标记时,它不将执行限制在组级别,并执行所有测试方法