serenity-bdd / serenity-cucumber

Cucumber integration for the Serenity BDD Reporting library
Other
78 stars 74 forks source link

java.lang.NullPointerException at net.thucydides.core.requirements.model.cucumber.CucumberParser.loadFeatureNarrative(CucumberParser.java:51) #37

Closed vikramvi closed 8 years ago

vikramvi commented 8 years ago

I have created project similar to cucumber-webtests , please refer to https://github.com/vikramvi/serenity-cucumber-wl , when I run always getting below error

567 [main] ERROR net.thucydides.core.model.TestOutcome - Tag provider net.thucydides.core.requirements.FileSystemRequirementsTagProvider@628c4ac0 failure java.lang.NullPointerException at net.thucydides.core.requirements.model.cucumber.CucumberParser.loadFeatureNarrative(CucumberParser.java:51) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.loadFromFeatureFile(FileSystemRequirementsTagProvider.java:551) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.readRequirementsFromStoryOrFeatureFile(FileSystemRequirementsTagProvider.java:532) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider$2.convert(FileSystemRequirementsTagProvider.java:511) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider$2.convert(FileSystemRequirementsTagProvider.java:508) at ch.lambdaj.function.convert.ConverterIterator.next(ConverterIterator.java:37) at ch.lambdaj.Lambda.convert(Lambda.java:986) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.loadStoriesFrom(FileSystemRequirementsTagProvider.java:495) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.getRequirements(FileSystemRequirementsTagProvider.java:132) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.readChildrenFrom(FileSystemRequirementsTagProvider.java:615) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.requirementFromDirectoryName(FileSystemRequirementsTagProvider.java:574) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.readRequirementFrom(FileSystemRequirementsTagProvider.java:524) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider$1.convert(FileSystemRequirementsTagProvider.java:502) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider$1.convert(FileSystemRequirementsTagProvider.java:499) at ch.lambdaj.function.convert.ConverterIterator.next(ConverterIterator.java:37) at ch.lambdaj.Lambda.convert(Lambda.java:986) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.loadCapabilitiesFrom(FileSystemRequirementsTagProvider.java:490) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.getRequirements(FileSystemRequirementsTagProvider.java:131) at net.thucydides.core.requirements.FileSystemRequirementsTagProvider.getTagsFor(FileSystemRequirementsTagProvider.java:256) at net.thucydides.core.model.TestOutcome.getTagsUsingTagProviders(TestOutcome.java:1414) at net.thucydides.core.model.TestOutcome.getTags(TestOutcome.java:1404) at net.thucydides.core.model.TestOutcome.addTags(TestOutcome.java:1444) at net.thucydides.core.steps.StepEventBus.addTagsToCurrentTest(StepEventBus.java:497) at net.serenitybdd.cucumber.SerenityReporter.startScenario(SerenityReporter.java:406) at net.serenitybdd.cucumber.SerenityReporter.startOfScenarioLifeCycle(SerenityReporter.java:399) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.RuntimeOptions$1.invoke(RuntimeOptions.java:290) at com.sun.proxy.$Proxy19.startOfScenarioLifeCycle(Unknown Source) at cucumber.runtime.junit.JUnitReporter.startOfScenarioLifeCycle(JUnitReporter.java:219) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:39) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

vikramvi commented 8 years ago
at net.thucydides.core.steps.StepEventBus.addTagsToCurrentTest(StepEventBus.java:497)

Not sure if I'm missing some tag here or it's bug with latest version ?

wakaleo commented 8 years ago

Some of your feature files are empty - that will mess with Cucumber and Serenity. I’ve made the Serenity code a bit more robust for the next version, but the Cucumber files should at least have the Feature title.


John Smart | Wakaleo Consulting  |  +44 7497151337 Making smart teams collaborate better http://www.wakaleo.com  |  john.smart@wakaleo.com


On 15 February 2016 at 10:34:16 AM, Vikram Ingleshwar (notifications@github.com) wrote:

at net.thucydides.core.steps.StepEventBus.addTagsToCurrentTest(StepEventBus.java:497)

Not sure if I'm missing some tag here or it's bug with latest version ?

— Reply to this email directly or view it on GitHub.

vikramvi commented 8 years ago

sorry false alarm.

Only one feature file had story other 2 were empty. Removing those 2 empty files resolved the issue.

RSingh1983 commented 7 years ago

Getting following exception for all the tests. java.lang.NoClassDefFoundError: net/thucydides/core/statistics/service/InjectedTagProvider

Am I missing any dependencies ?

wakaleo commented 7 years ago

Classdefnotfound is a dependency conflict.. Check your versions

RSingh1983 commented 7 years ago

Its resolved, Thanks a lot for such a quick reply

nadimsayyed84 commented 7 years ago

I have only one feature file as mentioned below, Feature: Lifecycle phases can be used to run steps before and after a scenario

Background: Given I have a calculator And I add 1

Scenario: A scenario with before and after phases When I add 2 Then the total should be 3

Scenario: Another scenario with before and after phases When I add 3 Then the total should be 4


out of two scenario it execute only one scenario and throwing below error on second scenario

[pool-1-thread-1] INFO net.serenitybdd.core.Serenity - Test Suite Started: Lifecycle phases can be used to run steps before and after a scenario I add 1 I add 2 the total should be 3 Feature: Lifecycle phases can be used to run steps before and after a scenariojava.lang.NullPointerException at net.serenitybdd.cucumber.TaggedScenario.hasTag(TaggedScenario.java:39) at net.serenitybdd.cucumber.TaggedScenario.isManual(TaggedScenario.java:17) at net.serenitybdd.cucumber.SerenityReporter.updateResultFromTags(SerenityReporter.java:507) at net.serenitybdd.cucumber.SerenityReporter.recordFinalResult(SerenityReporter.java:502) at net.serenitybdd.cucumber.SerenityReporter.result(SerenityReporter.java:490) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at cucumber.runtime.Utils$1.call(Utils.java:37) at cucumber.runtime.Timeout.timeout(Timeout.java:13) at cucumber.runtime.Utils.invoke(Utils.java:31) at cucumber.runtime.RuntimeOptions$1.invoke(RuntimeOptions.java:290) at com.sun.proxy.$Proxy18.result(Unknown Source) at cucumber.runtime.junit.JUnitReporter.result(JUnitReporter.java:111) at cucumber.runtime.Runtime.runStep(Runtime.java:309) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:393) at org.apache.maven.surefire.junitcore.pc.InvokerStrategy.schedule(InvokerStrategy.java:54) at org.apache.maven.surefire.junitcore.pc.Scheduler.schedule(Scheduler.java:352) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.junit.runners.Suite.runChild(Suite.java:128) at org.junit.runners.Suite.runChild(Suite.java:27) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:393) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748)

0 Scenarios () 4 Steps (4 passed) 0m0.217s

wakaleo commented 7 years ago

Are you using the latest versions of serenity-core and serenity-cucumber?

nadimsayyed84 commented 7 years ago

<?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">

4.0.0 sample_java sample-java 0.0.1-SNAPSHOT
<packaging>jar</packaging>

<name>Serenity BDD smoketests using JBehave</name>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <serenity.version>1.6.4</serenity.version>
    <serenity.maven.version>1.6.4</serenity.maven.version>
    <serenity.cucumber.version>1.5.13</serenity.cucumber.version>
    <!-- <serenity.cucumber.version>1.5.14-SNAPSHOT</serenity.cucumber.version> -->
    <encoding>UTF-8</encoding>
    <parallel.tests>4</parallel.tests>
</properties>

<repositories>
    <repository>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>central</id>
        <name>bintray</name>
        <url>http://jcenter.bintray.com</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>central</id>
        <name>bintray-plugins</name>
        <url>http://jcenter.bintray.com</url>
    </pluginRepository>
</pluginRepositories>

<dependencies>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>1.2.4</version>
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-core</artifactId>
        <version>1.2.4</version>
    </dependency>         
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-junit</artifactId>
        <version>${serenity.version}</version>
         <exclusions>
            <exclusion>
               <groupId>io.cucumber</groupId>
                <artifactId>cucumber-core</artifactId>
            </exclusion>
        </exclusions>            
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-screenplay</artifactId>
        <version>${serenity.version}</version>           
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-screenplay-webdriver</artifactId>
        <version>${serenity.version}</version>           
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-cucumber</artifactId>
        <version>${serenity.cucumber.version}</version>
        <exclusions>
            <exclusion>
               <groupId>info.cukes</groupId>
                <artifactId>cucumber-core</artifactId>
            </exclusion>
            <exclusion>
               <groupId>info.cukes</groupId>
                <artifactId>cucumber-junit</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>1.2.4</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.7</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
    <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.6.2</version>
    </dependency>
    <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-all</artifactId>
        <version>1.3</version>
    </dependency> 

</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20.1</version>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
        <plugin>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>2.20</version>
            <configuration>
                <includes>
                    <include>**/When*.java</include>
                </includes>
                <systemPropertyVariables>
                    <webdriver.base.url>${webdriver.base.url}</webdriver.base.url>
                </systemPropertyVariables>
                <parallel>classes</parallel>
                <threadCount>${parallel.tests}</threadCount>
                <forkCount>${parallel.tests}</forkCount>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>integration-test</goal>
                        <goal>verify</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.2</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>net.serenity-bdd.maven.plugins</groupId>
            <artifactId>serenity-maven-plugin</artifactId>
            <version>${serenity.maven.version}</version>
            <!-- <configuration>
                <tags>${tags}</tags>
            </configuration> -->
            <executions>
                <execution>
                    <id>serenity-reports</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>aggregate</goal>
                    </goals>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>net.serenity-bdd</groupId>
                    <artifactId>serenity-core</artifactId>
                    <version>${serenity.version}</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>
<!-- <profiles>
    <profile>
        <id>withFailures</id>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>2.20</version>
                    <configuration>
                        <includes>
                            <include>**/When*.java</include>
                            <include>**/FailWhen*.java</include>
                        </includes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles> -->

nadimsayyed84 commented 7 years ago

we wanted to integrate our existing cucumber framework with serenity reporting.. above is the POM file i am using. please let us know if you required any other details

it would be helpful if you could please provide your comment on this

wakaleo commented 7 years ago

Use serenity-core 1.6.6 and serenity-cucumber 1.1.15, and remove the cucumber-core dependencies (Serenity uses Cucumber 2.0.0, so overriding the dependencies to 1.2.4 will break it).

nadimsayyed84 commented 7 years ago

Thanks wakaleo.. your solution worked for me.

nadimsayyed84 commented 7 years ago

Hi, is it possible to see JUnit execution report when i run as JUnit test? Currently i am not able see the JUnit test execution log even though i have executed as Junit test instead maven build your reply would be helpful...

wakaleo commented 7 years ago

If you run the test through Surefire you should get one. Serenity also generates JUnit results - look for the XML files with the JUNIT prefix.

ghost commented 6 years ago
<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>com.whitbread</groupId>
  <artifactId>amadeus</artifactId>
  <version>1.0-SNAPSHOT</version>
  <properties>
    <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <slf4jVersion>1.7.25</slf4jVersion>
    <serenity.version>1.9.19</serenity.version>
    <serenity.maven.version>2.0.9</serenity.maven.version>
    <serenity.cucumber.version>1.9.19</serenity.cucumber.version>
    <encoding>UTF-8</encoding>
    <tags></tags>
    <parallel.tests>4</parallel.tests>

  </properties>
  <build>
    <directory>target</directory>
    <outputDirectory>target/classes</outputDirectory>
    <testOutputDirectory>target/classes</testOutputDirectory>
    <testSourceDirectory>src/test/java</testSourceDirectory>
    <resources>
      <resource>
        <filtering>true</filtering>
        <directory>src/test/resources</directory>
        <includes>
          <include>**/*.*</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>/src/test/resources</directory>
      </testResource>
    </testResources>

    <plugins>
      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-failsafe-plugin</artifactId>
      <version>2.20</version>
      <configuration>
        <systemPropertyVariables>
          <fork.count>5</fork.count>
        </systemPropertyVariables>
        <parallel>classes</parallel>
        <threadCount>${parallel.tests}</threadCount>
        <forkCount>${parallel.tests}</forkCount>
        <argLine>-Xmx1024m -XX:MaxPermSize=256m</argLine>
        <includes>
          <include>**/*Test.java</include>
        </includes>
      </configuration>
      <executions>
        <execution>
          <goals>
            <goal>integration-test</goal>
            <goal>verify</goal>
          </goals>
        </execution>
      </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.20.1</version>
        <configuration>
          <includes>
            <include>**/*.*</include>
          </includes>
          <argLine>-Duser.language=en</argLine>
          <argLine>-Xmx1024m</argLine>
          <argLine>-XX:MaxPermSize=256m</argLine>
          <argLine>-Dfile.encoding=UTF-8</argLine>
          <useFile>false</useFile>
          <testFailureIgnore>true</testFailureIgnore>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <executions>
          <execution>
            <phase>test</phase>
          </execution>
        </executions>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>net.serenity-bdd.maven.plugins</groupId>
        <artifactId>serenity-maven-plugin</artifactId>
        <version>${serenity.maven.version}</version>
        <configuration>
          <tags>${tags}</tags>
        </configuration>
        <executions>
          <execution>
            <id>serenity-reports</id>
            <phase>post-integration-test</phase>
            <goals>
              <goal>aggregate</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <name>amadeus</name>
  <url>http://maven.apache.org</url>

  <dependencies>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-all</artifactId>
      <version>2.4.5</version>
    </dependency>
    <dependency>
      <groupId>com.jayway.restassured</groupId>
      <artifactId>rest-assured</artifactId>
      <version>2.9.0</version>
    </dependency>
    <dependency>
      <groupId>io.rest-assured</groupId>
      <artifactId>json-schema-validator</artifactId>
      <version>3.0.1</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>23.0</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.0</version>
    </dependency>
    <dependency>
      <groupId>org.jsonschema2pojo</groupId>
      <artifactId>jsonschema2pojo-core</artifactId>
      <version>0.5.1</version>
    </dependency>
    <dependency>
      <groupId>com.shazam</groupId>
      <artifactId>shazamcrest</artifactId>
      <version>0.11</version>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-all</artifactId>
      <version>1.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/net.serenity-bdd/serenity-rest-assured -->
    <dependency>
      <groupId>net.serenity-bdd</groupId>
      <artifactId>serenity-rest-assured</artifactId>
      <version>2.0.9</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/net.serenity-bdd/serenity-cucumber -->
    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>3.0.0</version>
    </dependency>

    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>net.javacrumbs.json-unit</groupId>
      <artifactId>json-unit</artifactId>
      <version>1.28.2</version>
    </dependency>
    <dependency>
      <groupId>com.google.collections</groupId>
      <artifactId>google-collections</artifactId>
      <version>1.0</version>
    </dependency>
    <dependency>
      <groupId>com.jayway.jsonpath</groupId>
      <artifactId>json-path</artifactId>
      <version>2.2.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/info.cukes/gherkin -->
    <dependency>
      <groupId>info.cukes</groupId>
      <artifactId>gherkin</artifactId>
      <version>2.12.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.13</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-simple</artifactId>
      <version>1.7.25</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
    </dependency>
    <dependency>
      <groupId>com.github.fge</groupId>
      <artifactId>json-schema-validator</artifactId>
      <version>2.2.6</version>
    </dependency>
    <dependency>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-lang3</artifactId>
          <version>3.4</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4jVersion}</version>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-core</artifactId>
      <version>1.3</version>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-library</artifactId>
      <version>1.3</version>
    </dependency>
    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
      <version>3.9.1</version>
    </dependency>
    <dependency>
      <groupId>xml-apis</groupId>
      <artifactId>xml-apis</artifactId>
      <version>1.4.01</version>
    </dependency>
    <dependency>
      <groupId>net.serenity-bdd</groupId>
      <artifactId>serenity-cucumber</artifactId>
      <version>${serenity.cucumber.version}</version>
    </dependency>
    <dependency>
      <groupId>net.serenity-bdd</groupId>
      <artifactId>serenity-core</artifactId>
      <version>${serenity.version}</version>
    </dependency>
    <dependency>
      <groupId>net.serenity-bdd</groupId>
      <artifactId>serenity-junit</artifactId>
      <version>${serenity.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/net.serenity-bdd/serenity-picocontainer -->
    <dependency>
      <groupId>net.serenity-bdd</groupId>
      <artifactId>serenity-picocontainer</artifactId>
      <version>1.0.25</version>
    </dependency>
    <dependency>
      <groupId>com.googlecode.lambdaj</groupId>
      <artifactId>lambdaj</artifactId>
      <version>2.3.3</version>
    </dependency>
  </dependencies>
</project>

This is my POM. I have setup RestAssured/Cucumber/Maven/ framework. I wanted to use serenityBDD in my framework. For reporting purpose. So I am runnning my cukestest like below

@RunWith(CucumberWithSerenity.class)

When I run the tests I get the error below

`[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.965 s <<< FAILURE! - in com.whitbread.RunCukesTest [ERROR] com.whitbread.RunCukesTest Time elapsed: 0.964 s <<< ERROR! java.lang.NoSuchFieldError: SERENITY_FORK_NUMBER at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:363) at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272) at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236) at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)

[INFO] [INFO] Results: [INFO] [ERROR] Errors: [ERROR] JUnit4Provider.invoke:159->executeTestSet:236->executeWithRerun:272->execute:363 » NoSuchField [INFO] [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 [INFO] [INFO]`

please help

wakaleo commented 6 years ago

It's a dependency conflict issue, but you have a lot of dependencies so hard to see what exactly. Start from scratch with the starter project pom.xml and add dependencies as you need them.

ghost commented 6 years ago

Thanks for ur reply I figured the problem As I am using serenity for only reporting purpose I need these two only

<dependency>
      <groupId>net.serenity-bdd</groupId>
      <artifactId>serenity-cucumber</artifactId>
      <version>${serenity.cucumber.version}</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/net.serenity-bdd/serenity-picocontainer -->
    <dependency>
      <groupId>net.serenity-bdd</groupId>
      <artifactId>serenity-picocontainer</artifactId>
      <version>1.0.25</version>
    </dependency>

But if I need all restassured post, get response request into serenity then which dependency should i be using. I guess I have to use @step tags to get the logs

wakaleo commented 6 years ago

I don't know anything about serenity-picocontainer so I can't comment on how that works.

gopal3008 commented 4 years ago

Given the profile_sysadm is on calender Page # CampaignCreationStepDef.the_user_is__on_calender_Page(String) java.lang.AssertionError: net/thucydides/core/ThucydidesSystemProperty.SERENITY_INCLUDE_ACTOR_NAME_IN_CONSEQUENCES at net.serenitybdd.screenplay.ErrorTally.throwSummaryExceptionFrom(ErrorTally.java:36) at net.serenitybdd.screenplay.ErrorTally.reportAnyErrors(ErrorTally.java:30) at net.serenitybdd.screenplay.Actor.should(Actor.java:300) at com.adidas.salesforce.campaignportal.cucumber.steps.CampaignCreationStepDef.the_user_is__on_calender_Page(CampaignCreationStepDef.java:819) at ?.the profile_sysadm is on calender Page(src/test/resources/features/Calendar.feature:5)

Getting this error can someone please help