2017-10-25 4 views
0

Ich habe Maven-Projekt mit Gurke als BDD erstellt, die Integration mit Testng. Ich habe 2 Szenarien in meiner Feature-Datei hinzugefügt. Ich habe die Runner-Klasse in meiner testng.xml konfiguriert und in meiner Runner-Klasse starte ich den Browser mit @BeforeClass. Der Test führt das erste Szenario erfolgreich durch, führt jedoch nicht das zweite Szenario aus. Bitte führen Sie vor, wie Sie damit fortfahren können.Kann nicht das zweite Szenario in Gurke Funktion mit Testng

Meine Szenarien in Feature-Datei ist:

Feature: Base PartyUserStories 

    Scenario: Verify login 
    Given the username and password 
    When login is clicked 
    Then you enter the login page 

    Scenario: Verify login and blah blah 
    Given the username and password 
    When login is clicked 
    Then you enter the login page 

Meine Runner Klasse ist, wo ich den Browser nenne:

<?xml version="1.0"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="Party" parallel="none"> 
    <test name="Base Party Validation"> 
     <classes> 
      <class name="com.cucumber.testng.runner.TestRunner"/> 
     </classes> 
    </test> 
</suite> 

:

@CucumberOptions(features = { "src/test/resources" }, glue = { "com.cucumber.testng.party.tests" }) 
public class TestRunner extends AbstractTestNGCucumberTests { 
    public static WebDriver driver; 

    @BeforeTest 
    public void run() { 
     System.out.println("Runs always "); 
    } 

    @BeforeMethod(alwaysRun = true) 
    public void geturl() { 
     driver = new FirefoxDriver(); 
     driver.get("https:test.aspx");  
    }   

    @AfterMethod(alwaysRun = true) 
    public void quiturl() {   
     driver.quit(); 
    } 

    @AfterTest   
    public void stoprun() {   
     System.out.println("Runs after every test"); 
    }  
} 

Das ist mein testng.xml ist Es führt das erste Szenario erfolgreich aus, für das zweite Szenario startet es den Browser nicht. Bitte hilf mir dabei.

+0

Können Sie den gesamten Code aller Java-Dateien einschließlich App.java Datei –

Antwort

0

Verwenden Sie die @Before @ After-Hooks, die vor jedem Szenario ausgeführt werden, um dies zu erreichen, da Sie eine einzelne Feature-Datei und mehrere Szenarien haben.

+0

Diese Lösung funktioniert gut, wenn ich die Feature-Datei ausführen, aber auf die Testng.xml als ausgeführt Testing Suite, bekomme ich Nullpointer, weil der Browser nicht gestartet wird. – user3548850

+0

Was haben Sie in das Test-XML geschrieben? Sie sollten den Runner dort als Test oder Klasse hinzufügen und Ihre mit Annotationen versehenen Methoden sollten in Ihrem Leimordner verfügbar sein. –

Verwandte Themen