TestNG Parent类的一些方法没有运行

时间:2017-03-01 05:56:24

标签: java testng

我有一个父类BaseClass TestNG注释如下

public class BaseClass 
{
     protected static WebDriver driver; 

     @BeforeSuite
     public void beforeSuite()
     { 
       System.out.println("\nBEFORE SUITE : "); 
     }

     @BeforeTest
     public void launch() throws IOException
     {
       //CODE TO LAUNCH BROWSER
     }

     @BeforeClass
     void beforeclass()
     {
       System.out.println("BEFORE CLASS");  
     }

     @AfterClass
     void afterClass()
     {      
       System.out.println("After test ");
     }

     @BeforeMethod
     void beforeMethod()
     {
       System.out.println("BEFORE METHOD ");    
     }

     @AfterMethod 
     void afterMethod ()
     {  
       System.out.println("After METHOD ");
     }

     @AfterSuite
     void afterSuite()
     {
       System.out.println("\n After Suite");
     }
}

child class将其扩展为

public class SearchQualityRuleTest extends BaseClass
{
    @Test
    public void searchTest() throws InterruptedException  
    {
      //Assertions 
     }  
}

我的XML文件如下

<suite name="AAD-AED suite" verbose="1" >
    <test name="AED tests">
      <classes>
             <class name="tests.AED_searchQualityRuleTest"/>          
      </classes>
    </test>
</suite> 

除了@BeforeSuite@BeforeTest方法之外,没有其他方法正在运行。

我在其他未执行的方法中有与Extent Reports相关的代码。

如果代码中有任何错误,请提出建议

1 个答案:

答案 0 :(得分:0)

不仅仅是满足于眼睛 在我的计算机上输出您的示例:

BEFORE SUITE : 
BEFORE CLASS
BEFORE METHOD 
After METHOD 
After test 

 After Suite

我打赌你有更多的课程,这些课程继承自BaseClass,而不只是一个。 由于类似this之后的原因,这些方法未正确执行。实现InvokedMethodListener可以帮助您克服继承问题。