damianszczepanik/cucumber-reporting


HTML reports for Cucumber

License: LGPL-2.1

Language: Java

Keywords: cucumber-reports, html-report, java, jenkins, json-report


Travis Status AppVeyor Status Shippable Status

Coverage Status Sonarqube coverage Sonarqube tech debt Coverity Codacy Codebeat Vulnerabilities

Maven Central License Contributors

Publish pretty cucumber reports

This is a Java report publisher primarily created to publish cucumber reports on the Jenkins build server. It publishes pretty html reports with charts showing the results of cucumber runs. It has been split out into a standalone package so it can be used for Jenkins and maven command line as well as any other packaging that might be useful. Generated report has no dependency so can be viewed offline.

Background

Cucumber is a test automation tool following the principles of Behavioural Driven Design and living documentation. Specifications are written in a concise human readable form and executed in continuous integration.

This project allows you to publish the results of a cucumber run as pretty html reports. In order for this to work you must generate a cucumber json report. The project converts the json report into an overview html linking to separate feature files with stats and results.

Install

Add a maven dependency to your pom

<dependency>
    <groupId>net.masterthought</groupId>
    <artifactId>cucumber-reporting</artifactId>
    <version>(check version above)</version>
</dependency>

Read this if you need further detailed configuration instructions for using the Jenkins version of this project

Usage

File reportOutputDirectory = new File("target");
List<String> jsonFiles = new ArrayList<>();
jsonFiles.add("cucumber-report-1.json");
jsonFiles.add("cucumber-report-2.json");

String buildNumber = "1";
String projectName = "cucumberProject";
boolean runWithJenkins = false;

Configuration configuration = new Configuration(reportOutputDirectory, projectName);
// optional configuration - check javadoc
configuration.setRunWithJenkins(runWithJenkins);
configuration.setBuildNumber(buildNumber);
// addidtional metadata presented on main page
configuration.addClassifications("Platform", "Windows");
configuration.addClassifications("Browser", "Firefox");
configuration.addClassifications("Branch", "release/1.0");

// optionally add metadata presented on main page via properties file
List<String> classificationFiles = new ArrayList<>();
classificationFiles.add("properties-1.properties");
classificationFiles.add("properties-2.properties");
configuration.addClassificationFiles(classificationFiles);

ReportBuilder reportBuilder = new ReportBuilder(jsonFiles, configuration);
Reportable result = reportBuilder.generateReports();
// and here validate 'result' to decide what to do if report has failed

There is a feature overview page:

feature overview page

And there are also feature specific results pages:

feature specific page passing

And useful information for failures:

feature specific page passing

If you have tags in your cucumber features you can see a tag overview:

Tag overview

And you can drill down into tag specific reports:

Tag report

Trends report

Code quality

Once you developed your new feature or improvement you should test it by providing several unit or integration tests.

codecov.io

BrowserStack

We use BrowserStack to examine HTML report against different browsers and platforms. BrowserStack

Contribution

Interested in contributing to the cucumber-reporting? Great! Start here.

Project Statistics

Sourcerank 11
Repository Size 21.2 MB
Stars 305
Forks 256
Watchers 63
Open issues 26
Dependencies 15
Contributors 52
Tags 61
Created
Last updated
Last pushed

Top Contributors See all

Damian Szczepanik Kingsley Hendrickse tommywo midopa mpkorstanje Jorge Bogdan Livadariu Jan Molak Eduardo Kalinowski rfriend-aimia Far Jangtrakool Rex Hoffman anoordover Jeanine daniel-da Matthew Lucas Steve Peak Radek Ostrowski Romain Lespinasse Ryan Pickett

Packages Referencing this Repo

net.masterthought:cucumber-reporting
This project provides pretty html reports for Cucumber. It works by generating html from the cuc...
Latest release 4.2.3 - Updated - 305 stars

Recent Tags See all

cucumber-reporting-4.2.3 November 24, 2018
cucumber-reporting-4.2.2 November 14, 2018
cucumber-reporting-4.2.1 November 13, 2018
cucumber-reporting-4.2.0 November 07, 2018
cucumber-reporting-4.1.0 October 16, 2018
cucumber-reporting-4.0.0 October 07, 2018
cucumber-reporting-3.20.0 August 22, 2018
cucumber-reporting-3.19.0 July 20, 2018
cucumber-reporting-3.18.0 June 20, 2018
cucumber-reporting-3.17.1 May 16, 2018
cucumber-reporting-3.17.0 May 16, 2018
cucumber-reporting-3.16.0 April 04, 2018
cucumber-reporting-3.15.0 February 25, 2018
cucumber-reporting-3.14.0 January 20, 2018
cucumber-reporting-3.13.0 December 14, 2017

Something wrong with this page? Make a suggestion

Last synced: 2018-12-10 18:06:51 UTC

Login to resync this repository