📅  最后修改于: 2021-01-11 11:56:39             🧑  作者: Mango
TestNG组可让您对不同测试方法进行分组。当您要访问不同类的测试方法时,需要对测试方法进行分组。
您不仅可以在指定组中声明方法,还可以在指定组中声明另一个组。因此,可以要求TestNG包括一组特定的组,同时排除另一组组。
通过将测试方法按组划分,它为您提供了最大的灵活性,并且如果您背对背运行两组不同的测试用例,则不需要重新编译测试用例。
组在testng.xml文件中使用
让我们通过一个示例来了解TestNG组的概念:
第一种情况:在
步骤1:打开Eclipse。
步骤2:我们创建三个Java项目,即Personal_loan.java,Home_loan.java和Car_loan.java。
Personal_loan.java
package com.javatpoint;
import org.testng.annotations.Test;
public class Personal_loan
{
@Test(groups= {"SmokeTest"})
public void WebLoginPersonalLoan()
{
System.out.println("Web Login Personal Loan");
}
@Test
public void MobileLoginPersonalLoan()
{
System.out.println("Mobile Login Personal Loan");
}
@Test
public void APILoginPersonalLoan()
{
System.out.println("API Login Personal Loan");
}
}
Home_loan.java
package com.javatpoint;
import org.testng.annotations.Test;
public class Home_loan
{
@Test
public void WebLoginHomeLoan()
{
System.out.println("Web Login Home Loan");
}
@Test(groups= {"SmokeTest"})
public void MobileLoginHomeLoan()
{
System.out.println("Mobile Login Home Loan");
}
@Test
public void APILoginHomeLoan()
{
System.out.println("API Login Home Loan");
}
}
Car_loan.java
package com.javatpoint;
import org.testng.annotations.Test;
public class Car_loan
{
@Test
public void WebLoginCarLoan()
{
System.out.println("Web Login Home Loan");
}
@Test
public void MobileLoginCarLoan()
{
System.out.println("Mobile Login Home Loan");
}
@Test(groups= {"SmokeTest"})
public void APILoginCarLoan()
{
System.out.println("API Login Home Loan");
}
}
在上述情况下,我们为三个不同类的三个测试用例提供一个组名,即SmokeTest。
步骤3:现在,我们创建一个testng.xml文件,在其中配置我们创建的类并添加新标签
输出量
第二种情况:当
步骤1:打开Eclipse。
步骤2:我们创建一个名为“ Groups.java”的Java项目。
Groups.java
package com.javatpoint;
import org.testng.annotations.Test;
public class Groups {
@Test(groups= {"Group A"})
public void testcase1()
{
System.out.println("Test case belonging to Group A");
}
@Test(groups= {"Group A","Group B"})
public void testcase2()
{
System.out.println("Test case belonging to both Group A and Group B");
}
@Test(groups= {"Group B"})
public void testcase3()
{
System.out.println("Test case belonging to Group B");
}
}
在上面的代码中,我们定义了两个组,即A组和B组。testcase1()被标记为“ Group A”,testcase2被标记为两个组“ Group A”和“ Group B”,而testcase3( )标记为“ B组”。
步骤3:我们创建testng.xml文件来配置Groups类。
testng.xml文件
步骤4:通过右键单击testng.xml文件来运行testng.xml文件。
输出量
步骤1:打开Eclipse。
步骤2:我们创建一个新的Java项目。
Groups.java
package com.javatpoint;
import org.testng.annotations.Test;
public class Groups
{
@Test(groups= {"Include Group"})
public void test_case1()
{
System.out.println("This is test case 1");
}
@Test(groups= {"Include Group"})
public void test_case2()
{
System.out.println("This is test case 2");
}
@Test(groups= {"Exclude Group"})
public void test_case3()
{
System.out.println("This is test case 3");
}
}
步骤3:我们将创建testng.xml文件。
testng.xml文件
步骤4:运行testng.xml文件。
输出量
我们也可以将正则表达式与TestNG组一起使用。
让我们通过一个例子来理解:
步骤1:打开Eclipse。
步骤2:我们创建一个名为“ Regular_Expression.java”的Java项目。
Regular_Expression.java
package com.javatpoint;
import org.testng.annotations.Test;
public class Regular_Expression {
@Test(groups= {"Include test case1"})
public void test_case1()
{
System.out.println("This is test case 1");
}
@Test(groups= {"Include test case2"})
public void test_case2()
{
System.out.println("This is test case 2");
}
@Test(groups= {"Exclude test case3"})
public void test_case3()
{
System.out.println("This is test case 3");
}
}
步骤3:现在,我们创建testng.xml文件以配置上述类。
步骤4:运行testng.xml文件。
输出量
我们还可以在另一个组中指定一个组。在另一个组中定义的组称为元组。
让我们通过一个例子来理解:
步骤1:打开Eclipse。
步骤2:我们创建一个名为“ Groups_in_Groups ”的Java项目。
Groups_in_Groups.java
package com.javatpoint;
import org.testng.annotations.Test;
public class Groups_in_Groups
{
@Test(groups= {"Smoke"})
public void test1()
{
System.out.println("test1");
}
@Test(groups= {"Regression"})
public void test2()
{
System.out.println("test2");
}
@Test
public void test3()
{
System.out.println("test3");
}}
步骤3:现在我们创建一个testng.xml文件,在其中配置上述类。
testng.xml文件
在上面的xml文件中,我们在另一个名为“ Group 1”的组中定义了一个新组,并包括了用“ Smoke”和“ Regression”标记的那些测试用例。
步骤4:运行testng.xml文件。
输出量