2017-11-20 1 views
1

Ich bin vor einem Problem, wenn Gurke Skripte ausführen Tags mit pom.xml mit. Ich möchte es ohne eine Läuferklasse laufen lassen.Gurke: undefined Szenario/Schritte, wenn eine Reihe von Tests mit Tags (Anmerkungen) läuft mit pom.xml

Wenn ich den Lauf Klasse verwenden, führen Sie die Skripte gut und ich bekomme die unten ausgegeben.

/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=51160:/Applications/IntelliJ IDEA CE.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit-rt.jar:/Applications/IntelliJ IDEA CE.app/Contents/plugins/junit/lib/junit5-rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jaccess.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/packager.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/lib/tools.jar:/Users/umeshanand/Documents/Selenium/Frameworks/FW.BDD/target/test-classes:/Users/umeshanand/.m2/repository/info/cukes/cucumber-java/1.2.2/cucumber-java-1.2.2.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-java/3.7.1/selenium-java-3.7.1.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-api/3.7.1/selenium-api-3.7.1.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-chrome-driver/3.7.1/selenium-chrome-driver-3.7.1.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-edge-driver/3.7.1/selenium-edge-driver-3.7.1.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-firefox-driver/3.7.1/selenium-firefox-driver-3.7.1.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-ie-driver/3.7.1/selenium-ie-driver-3.7.1.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-opera-driver/3.7.1/selenium-opera-driver-3.7.1.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-remote-driver/3.7.1/selenium-remote-driver-3.7.1.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-safari-driver/3.7.1/selenium-safari-driver-3.7.1.jar:/Users/umeshanand/.m2/repository/org/seleniumhq/selenium/selenium-support/3.7.1/selenium-support-3.7.1.jar:/Users/umeshanand/.m2/repository/net/bytebuddy/byte-buddy/1.7.5/byte-buddy-1.7.5.jar:/Users/umeshanand/.m2/repository/org/apache/commons/commons-exec/1.3/commons-exec-1.3.jar:/Users/umeshanand/.m2/repository/commons-codec/commons-codec/1.10/commons-codec-1.10.jar:/Users/umeshanand/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/Users/umeshanand/.m2/repository/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar:/Users/umeshanand/.m2/repository/com/google/guava/guava/23.0/guava-23.0.jar:/Users/umeshanand/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar:/Users/umeshanand/.m2/repository/com/google/errorprone/error_prone_annotations/2.0.18/error_prone_annotations-2.0.18.jar:/Users/umeshanand/.m2/repository/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar:/Users/umeshanand/.m2/repository/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar:/Users/umeshanand/.m2/repository/org/apache/httpcomponents/httpclient/4.5.3/httpclient-4.5.3.jar:/Users/umeshanand/.m2/repository/org/apache/httpcomponents/httpcore/4.4.6/httpcore-4.4.6.jar:/Users/umeshanand/.m2/repository/junit/junit/4.12/junit-4.12.jar:/Users/umeshanand/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:/Users/umeshanand/.m2/repository/info/cukes/cucumber-core/1.2.2/cucumber-core-1.2.2.jar:/Users/umeshanand/.m2/repository/info/cukes/cucumber-html/0.2.3/cucumber-html-0.2.3.jar:/Users/umeshanand/.m2/repository/info/cukes/cucumber-jvm-deps/1.0.3/cucumber-jvm-deps-1.0.3.jar:/Users/umeshanand/.m2/repository/info/cukes/gherkin/2.12.2/gherkin-2.12.2.jar:/Users/umeshanand/.m2/repository/info/cukes/cucumber-junit/1.2.2/cucumber-junit-1.2.2.jar:test/java/.:src/test/java/stepDefs" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 -junit4 runner.runnertest 
objc[976]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/bin/java (0x102c0d4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x10352b4e0). One of the two will be used. Which one is undefined. 
Launch browser 
open google 
enter powercor 
validate results 
Launch browser 
open google 
enter powercor 
validate results 
Launch browser 
open google 
enter powercor 
validate results 

3 Scenarios (3 passed) 
12 Steps (12 passed) 
0m0.125s 

Wenn ich eine pom.xml execute, erhalte ich die folgende Meldung (bitte beachten Sie, ich einer der drei Tags auszuführen versuche @ google1, @ google2, @ google3)

--- exec-maven-plugin:1.2.1:java (default) @ FW_BDD --- 
Feature: First test to launch google 

    @google1 
    Scenario: Launch Google and search something  # features/googlenew.feature:4 
    Given I open Chrome browser 
    And user open google 
    When user enter powercor in textbox 
    Then search results should should poercor.com.au 

1 Scenarios (1 undefined) 
4 Steps (4 undefined) 
0m0.000s 


You can implement missing steps with the snippets below: 

@Given("^I open Chrome browser$") 
public void i_open_Chrome_browser() throws Throwable { 
    // Write code here that turns the phrase above into concrete actions 
    throw new PendingException(); 
} 

@Given("^user open google$") 
public void user_open_google() throws Throwable { 
    // Write code here that turns the phrase above into concrete actions 
    throw new PendingException(); 
} 

@When("^user enter powercor in textbox$") 
public void user_enter_powercor_in_textbox() throws Throwable { 
    // Write code here that turns the phrase above into concrete actions 
    throw new PendingException(); 
} 

@Then("^search results should should poercor\\.com\\.au$") 
public void search_results_should_should_poercor_com_au() throws Throwable { 
    // Write code here that turns the phrase above into concrete actions 
    throw new PendingException(); 
} 


Process finished with exit code 1 

Execution happens through below : 
clean install [email protected] 

POM.XML ist:

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>FW_BDD</groupId> 
    <artifactId>FW_BDD</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 

     <tagArg>[email protected]</tagArg> 
     <format>pretty</format> 


    </properties> 

    <dependencies> 

     <dependency> 
      <groupId>info.cukes</groupId> 
      <artifactId>cucumber-java</artifactId> 
      <version>1.2.2</version> 
     </dependency> 

     <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>3.7.1</version> 
     </dependency> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.12</version> 
     </dependency> 

     <dependency> 
      <groupId>info.cukes</groupId> 
      <artifactId>cucumber-core</artifactId> 
      <version>1.2.2</version> 
     </dependency> 

     <dependency> 
      <groupId>info.cukes</groupId> 
      <artifactId>cucumber-junit</artifactId> 
      <version>1.2.2</version> 
     </dependency> 

    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.7.0</version> 
       <configuration> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.20.1</version> 
       <configuration> 

        <additionalClasspathElements> 
         <additionalClasspathElement>test/java/.</additionalClasspathElement> 
         <additionalClasspathElement>src/test/java/stepDefs</additionalClasspathElement> 
         <additionalClasspathElement>test/java/.</additionalClasspathElement> 
        </additionalClasspathElements> 

        <skipTests>true</skipTests> 
        <!--<includes> 
         <include>**/*test.java</include> 
        </includes>--> 
       </configuration> 
      </plugin> 

      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.2.1</version> 
       <executions> 
        <execution> 
         <phase>test</phase> 
         <goals> 
          <goal>java</goal> 
         </goals> 

         <configuration> 
          <classpathScope>test</classpathScope> 
          <mainClass>cucumber.api.cli.Main</mainClass> 
          <arguments> 
           <argument>--plugin</argument> 
           <argument>junit:reports/junit.xml</argument> 
           <argument>--plugin</argument> 
           <argument>json:reports/json.json</argument> 
           <argument>--plugin</argument> 
           <argument>html:reports/</argument> 
           <argument>--plugin</argument> 
           <argument>pretty</argument> 
           <argument>--strict</argument> 
           <argument>--glue</argument> 
           <argument>target/test-classes</argument> 
           <argument>target/test-classes/.</argument> 
           <argument>--tags</argument> 
           <argument>[email protected]</argument> 
           <argument>--tags</argument> 
           <argument>${tagArg}</argument> 
          </arguments> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

     </plugins> 
    </build> 

</project> 

Ich versuchte mit groovy über Java und die Dinge funktionieren sehr gut. Ich benutze IntelliJ und bin mir nicht sicher, was ich vermisse.

+0

zu erwähnen vergessen, dass die Feature-Dateien und Schritt Definitionen sind in src/test/java/stepDefs ..... src/test/resources/features – uanand

+0

Bitte fügen Sie Ihren Läufer Klassencode auch hinzu? –

+0

Hier gehen Sie ... @RunWith (Cucumber.class) @CucumberOptions ( // Funktionen = { "src/test/resources/features/googlenew.features"}, Features = { "src/test/Ressourcen/Funktionen "}, Leim = {" stepDefs "}, plugin = {" Pretty: Ziel/Gurke-Pretty-Bericht ", " HTML: Ziel/Gurke-HTML-Bericht ", " JSON: Ziel/cucumber.json“, "junit: target/cucumber.xml"} //, // tags = { "@ goldest1"} ) public class runnertest { } – uanand

Antwort

0

Das "--glue" Argument ist falsch. Dies sollte der vollständige Paketname für die Step-Definition-Klassen anstelle von "target/test-classes" sein. Zum Beispiel, wenn die Klassen in der „com.cucumber.steps“ Paket befinden, dann sollte das POM wie folgt aussehen:

<argument>--glue</argument> 
<argument>com.cucumber.steps</argument> 
... 
<argument>src/test/resources/features</argument> 
+0

@ Andre habe ich versucht, den Kleber zu --glue stepDefs Jedoch habe ich während der Ausführung der unten erhalten Ändern [INFO] - - exec-maven-Plugin: 1.2.1: java (default) @ FW_BDD --- Haben Sie keine Pfadverzeichnis oder Feature-Datei verfügen 0 Szenarien 0 Steps 0m0.000s – uanand

+0

Mein Projekt dir Struktur ist Schrittdefinitionen unter: | -src | -test | -java | -stepDefs | -StepDefinitions.java Feature-Dateien auf: | -src | -test | -resources | -Features | -gogtest. feature – uanand

+0

@uanand Haben Sie versucht, als letzten Parameter ' src/test/resources/features' hinzuzufügen? Wäre auch gut, wenn Sie den Inhalt der Feature-Datei teilen könnten. Vielen Dank. –

Verwandte Themen