2017-03-01 4 views
1

Ich habe eine Elternklasse BaseClass mit TestNG Anmerkungen wie untenEinige der Methoden der TestNG Geordnete Klasse laufen nicht

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"); 
    } 
} 

und der child class als sich unterhalb

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

Meine XML-Datei wie unten

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

O ther als @BeforeSuite und @BeforeTest Methoden keine anderen Methoden ausgeführt werden.

Ich habe Code in Bezug auf Extent Reports in anderen nicht ausgeführten Methoden.

Bitte legen nahe, ob es ein Fehler im Code ist

+0

Wenn ich Ihren Code bearbeiten, fehlen Semikolon in der 'System.out.println' Anweisung. Können Sie dieses Problem mit meinem bearbeiteten Code erneut überprüfen? –

+0

Ich habe Änderungen am Code vorgenommen und durch S.O.P-Zeilen ersetzt, um die Auswertung zu vereinfachen. aber in meinem Projekt habe ich Semikolon nicht verpasst. –

+0

Jetzt funktioniert es gut für dich richtig? –

Antwort

0

Es gibt mehr als das Auge trifft.
Ausgabe von Ihrem Beispiel auf meinem Computer:

BEFORE SUITE : 
BEFORE CLASS 
BEFORE METHOD 
After METHOD 
After test 

After Suite 

Ich wette, Sie mehr Klassen erhalten haben, die sich von BaseClass erben, nicht nur eine. Diese Methoden werden aus ähnlichen Gründen nicht korrekt ausgeführt wie hinter this. Die Implementierung eines InvokedMethodListener würde Ihnen helfen, Probleme mit der Vererbung zu lösen.

+0

Ja, Sie haben recht, es gibt so viele Klassen, die die in BaseClass definierte Instanz von webDriver übernehmen. wird versuchen, "InvokedMethodListener" zu verwenden und Sie wissen zu lassen, danke –

+0

@PravallikaEsarla, wenn diese Antwort hilfreich war, wie über Upvoting/akzeptieren? ;) –

Verwandte Themen