1
specification 
|-src 
    |-test 
    |-java 
     |-MyFeature1 
     |-MyFeature1Steps.java 
     |-MyFeature1Test.java 
     |-MyFeature2 
     |-MyFeature2Steps.java 
     |-MyFeature2Test.java 
    |-resources 
     |-Features 
     |-MyFeature1 
      |-MyFeature1.feature 
     |-MyFeature2 
      |-MyFeature2.feature 

In MyFeature1Test.java mit, ich habe dies:Nicht in der Lage Szenario zu laufen, während Gurke-jvm mit Selen

@RunWith(Cucumber.class) 
@CucumberOptions(format = { "pretty", "html:target/cucumber", "json:target/cucumber.json" }, features = "classpath:Features" , tags = "@registration", glue={"classpath:MyFeature1/MyFeature1Steps.java"}) 

public class MyFeature1Test 
{ 
} 

Szenario Datei MyFeature1.feature:

@registration 
Feature: Login and Registration tests 

    Background: 
    Given User is on Sign In Page 

    # 1 Register using Username and password 
    Scenario Outline: 
     Given User clicks on Sign Up 
     And User fills the details 
     When User provides "new" email 
     And User activates the account 
     And Configures password 
     Then User should be registered 

Mein pom.xml sich wie folgt:

<dependency> 
    <groupId>info.cukes</groupId> 
    <artifactId>cucumber-java</artifactId> 
    <version>1.1.8</version> 
    <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-core</artifactId> 
     <version>1.1.8</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-junit</artifactId> 
     <version>1.1.8</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-jvm-deps</artifactId> 
     <version>1.0.3</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>cucumber-picocontainer</artifactId> 
     <version>1.1.8</version> 
    </dependency> 
    <dependency> 
     <groupId>info.cukes</groupId> 
     <artifactId>gherkin</artifactId> 
     <version>2.12.2</version> 
    </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>4.11</version> 
     <scope>test</scope> 
    </dependency> 

Wenn ich die Läufer-Datei mit Maven laufen, bekomme ich führen immer so:

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.641 sec - in TestSuite 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

Laufen durch Eklipse zeigen mir auch die Ausgabe als:

@registration 
Feature: Login and Registration tests 

0 Scenarios 
0 Steps 
0m0.000s 

Was mache ich falsch hier, wie ich in der Lage bin zu Führen Sie MyFeature2.feature in derselben Struktur erfolgreich aus.

Antwort

2

kann ich einige mögliche Probleme sehen hier:

  1. glue Parameter auf einen Java-Paket zeigen sollte, nicht Verzeichnis. So etwas wie glue = {"com.test.functional.gluecode..."}
  2. Ihr Szenario ist nicht korrekt definiert. Scenario Outline wird verwendet, wenn Sie mehrere sich wiederholende Szenarien erstellen und Eingabedaten für jedes Szenario in der Tabelle Examples bereitstellen möchten. Zum Beispiel:

.

Scenario Outline: eating 
    Given there are <start> cucumbers 
    When I eat <eat> cucumbers 
    Then I should have <left> cucumbers 

    Examples: 
    | start | eat | left | 
    | 12 | 5 | 7 | 
    | 20 | 5 | 15 | 

In Ihrem Fall, es ist nur Scenario ändern.

+0

Ersetzen Szenario Gliederung mit Szenario, arbeitete wie ein Charme. Vielen Dank !! –

+0

@MonikaKhandelwal Großartig! Bitte akzeptieren Sie die Antwort, wenn es Ihnen geholfen hat. –

0

Änderungsszenario Umriss in der Feature-Datei Szenario

Punkt Leim Parameter defination Pakets zu Schritt