📜  TestNG @BeforeTest注释

📅  最后修改于: 2021-01-11 12:00:23             🧑  作者: Mango

TestNG @BeforeTest注释

在自动化测试用例时,您有一个要求,希望您首先删除提交的数据。例如,当您运行测试用例时,您将在表格中填写详细信息,并将数据保存在数据库中。当您再次运行测试用例时,您将收到一条错误消息“数据已存在”。

@BeforeTest: @BeforeTest注释下的方法将在属于该文件夹的任何测试之前首先执行。

让我们通过一个例子来理解。

第一种情况:将@BeforeTest带注释的方法放在开头时。

步骤1:打开Eclipse。

步骤2:我们创建两个Java项目,即it_department.java和hr_department.java。

it_department.java

package com.javatpoint;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class it_department 
{
    
  @BeforeTest                                             // annotated method placed in the beginning.
  public void before_test()
  {
      System.out.println("It will be executed first");
  }
  @Test
  public void software_developers()
  {
      System.out.println("Software Developers");
  }
  
  @Test
  public void software_testers()
  {
      System.out.println("Software Testers");
  }
  
  @Test
  public void qa_analyst()
  {
      System.out.println("QA Analyst");
  }}

在上面的代码中,在@BeforeTest注释下放置了一个方法,该方法将在it_department中所有可用的测试方法之前首先执行。

hr_department.java

package com.javatpoint;

import org.testng.annotations.Test;

public class hr_department 
{
    
    @Test
    public void manager()
    {
        System.out.println("Manager");
    }
    
    @Test
    
    public void hr()
    {
        System.out.println("HR");
    }
    
    @Test
    public void counsellor()
    {
        System.out.println("Counsellor");
    }

}

步骤3:创建testng.xml文件。 testng.xml文件








 




 
 

步骤4:运行testng.xml文件。右键单击testng.xml ,然后将光标向下移动到Run As ,然后单击1 TestNG Suite

输出量

上面的输出显示@BeforeTest批注中的方法首先在it_department的所有测试用例之前执行。

第二种情况:将@BeforeTest带注释的方法放在最后。

源代码

package com.javatpoint;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class it_department 
{
    
  @Test
  public void software_developers()
  {
      System.out.println("Software Developers");
  }
  
  @Test
  public void software_testers()
  {
      System.out.println("Software Testers");
  }
  
  @Test
  public void qa_analyst()
  {
      System.out.println("QA Analyst");
      
  }
  @BeforeTest
  public void before_test()                               // annotated method placed at the end.
  {
      System.out.println("It will be executed first");
  }
}

在上面的代码中,我们将@BeforeTest注释方法放在最后。

输出量

在上面的输出中,我们得出结论,首先执行@BeforeTest注释方法,因此,得出结论,将@BeforeTest注释方法放置在任何位置,它将首先执行。