jenkinsci / cucumber-reports-plugin

Jenkins plugin to generate cucumber-jvm reports
https://plugins.jenkins.io/cucumber-reports/
GNU Lesser General Public License v2.1
210 stars 232 forks source link

cucumber cannot generate report #407

Open dkim-dev opened 2 years ago

dkim-dev commented 2 years ago

Waiting for Jenkins to finish collecting data [JENKINS] Archiving /var/lib/jenkins/workspace/Skynet Automation/pom.xml to Skynet/Skynet/1.0-SNAPSHOT/Skynet-1.0-SNAPSHOT.pom [Skynet Automation] $ /bin/sh -xe /tmp/jenkins7393655887606103922.sh channel stopped

Scenario Outline: Test the ability of e-Card download # src/test/java/eCards/Ecards.feature:15 Given the user navigates to the https://something.com/ site # binders.webAppBinders.EcardStepDefs.theUserNavigatesToTheECardSite(java.lang.String) When the user clicks the button to download the ecard # binders.webAppBinders.EcardStepDefs.theUserClicksTheButtonToDownloadTheEcard() Then a success page is displayed to the user # binders.webAppBinders.EcardStepDefs.aSuccessPageIsDisplayedToTheUser() And the ecard file is being saved to the machine # binders.webAppBinders.EcardStepDefs.theEcardFileIsBeingSavedToTheMachine() [CucumberReport] Using Cucumber Reports version 5.6.1 [CucumberReport] JSON report directory is "/var/lib/jenkins/workspace/Skynet Automation/target" [CucumberReport] Copied 1 properties files from workspace "/var/lib/jenkins/workspace/Skynet Automation/target" to reports directory "/var/lib/jenkins/jobs/Skynet Automation/builds/96/cucumber-html-reports/.cache" [CucumberReport] Copied 2 files from workspace "/var/lib/jenkins/workspace/Skynet Automation/target" to reports directory "/var/lib/jenkins/jobs/Skynet Automation/builds/96/cucumber-html-reports/.cache" [CucumberReport] Processing 2 json files: [CucumberReport] /var/lib/jenkins/jobs/Skynet Automation/builds/96/cucumber-html-reports/.cache/cucumber-usage.json [CucumberReport] /var/lib/jenkins/jobs/Skynet Automation/builds/96/cucumber-html-reports/.cache/cucumber.json [CucumberReport] Missing report result - report was not successfully completed [CucumberReport] Build status is left unchanged Finished: SUCCESS

Version report

Jenkins and plugins versions report:

jenkins version: 2.303.3
cucumber-report version: 5.6.1
I've tried multiple set ups:
system1: jenkins on a single ubuntu 18.04
system2: jenkins on a single windows 2016 server
system3: jenkins on ubuntu 18.04 and agent on windows 2016 server
dkim-dev commented 2 years ago

not sure if screenshots were attached to the ticket:

Here's error I'm getting once clicking on cucumber report.

Error Something went wrong with project Skynet, build 4

java.lang.NullPointerException at net.masterthought.cucumber.util.Util.toValidFileName(Util.java:82) at net.masterthought.cucumber.json.Feature.calculateReportFileName(Feature.java:214) at net.masterthought.cucumber.json.Feature.setMetaData(Feature.java:197) at net.masterthought.cucumber.ReportResult.(ReportResult.java:49) at net.masterthought.cucumber.ReportBuilder.generateReports(ReportBuilder.java:98) at net.masterthought.jenkins.CucumberReportPublisher.generateReport(CucumberReportPublisher.java:518) at net.masterthought.jenkins.CucumberReportPublisher.perform(CucumberReportPublisher.java:391) at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123) at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:806) at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:755) at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1072) at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:699) at hudson.model.Run.execute(Run.java:1913) at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543) at hudson.model.ResourceController.execute(ResourceController.java:99) at hudson.model.Executor.run(Executor.java:431) Trying to generate report from following files. Make sure they are valid cucumber report files: /var/lib/jenkins/jobs/Skynet/builds/4/cucumber-html-reports/.cache/target/cucumber-usage.json /var/lib/jenkins/jobs/Skynet/builds/4/cucumber-html-reports/.cache/target/cucumber.json

dkim-dev commented 2 years ago

pom.xml:

<?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
<groupId>Skynet</groupId>
<artifactId>Skynet</artifactId>
<version>1.0-SNAPSHOT</version>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.trivago.rta</groupId>
            <artifactId>cluecumber-report-plugin</artifactId>
            <version>2.7.0</version>
            <executions>
                <execution>
                    <id>report</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>reporting</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <sourceJsonReportDirectory>${project.build.directory}/cucumber-report</sourceJsonReportDirectory>
                <generatedHtmlReportDirectory>${project.build.directory}/generated-report</generatedHtmlReportDirectory>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>3.0.0-M5</version>
            <configuration>
                <systemPropertyVariables>
                    <websiteTestingBrowser>{websiteTestingBrowser}</websiteTestingBrowser>
                    <webAppUrl>{webAppUrl}</webAppUrl>
                    <enableAutoCleanUp>{cleanUp}</enableAutoCleanUp>
                </systemPropertyVariables>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-remote-driver</artifactId>
        <version>3.141.59</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>3.141.59</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>3.141.59</version>
    </dependency>

    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>5.0.3</version>
        <scope>test</scope></dependency>
    <dependency>

        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.20</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>net.masterthought</groupId>
        <artifactId>cucumber-reporting</artifactId>
        <version>5.6.1</version>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>3.141.59</version>
    </dependency>
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20210307</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.3.7</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.surefire</groupId>
        <artifactId>surefire-api</artifactId>
        <version>3.0.0-M5</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.14.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>javax.mail</artifactId>
        <version>1.6.2</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>6.10.4</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.25</version>
    </dependency>

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>6.10.4</version>
    </dependency>

    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>6.10.4</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.32</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.32</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-jvm</artifactId>
        <version>6.10.4</version>
        <type>pom</type>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>5.0.3</version>
        <scope>compile</scope>
    </dependency>

</dependencies>

damianszczepanik commented 2 years ago

Attach JSON files which you are trying to pass for the report

dkim-dev commented 2 years ago

thank you for your response. figured that out. problem was with runner config.

took out - "usage:target/cucumber-usage.json",

and left only:

"json:target/cucumber.json", "pretty:target/cucumber-pretty.txt", "junit:target/cucumber-results.xml" },

so it wasn't a bug, it was misconfiguration.