All Projects → damianszczepanik → Cucumber Reporting

damianszczepanik / Cucumber Reporting

Licence: lgpl-2.1
HTML reports for Cucumber

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Cucumber Reporting

Node Build Monitor
A Build Monitor written in Node.js, which supports several build services and can be easily extended.
Stars: ✭ 336 (-23.29%)
Mutual labels:  jenkins
Summarytools
R Package to Quickly and Neatly Summarize Data
Stars: ✭ 390 (-10.96%)
Mutual labels:  html-report
Otseca
Open source security auditing tool to search and dump system configuration. It allows you to generate reports in HTML or RAW-HTML formats.
Stars: ✭ 416 (-5.02%)
Mutual labels:  html-report
Devops Guide
DevOps Guide - Development to Production all configurations with basic notes to debug efficiently.
Stars: ✭ 4,119 (+840.41%)
Mutual labels:  jenkins
Apollo
Apollo - The logz.io continuous deployment solution over kubernetes
Stars: ✭ 367 (-16.21%)
Mutual labels:  jenkins
Jx
Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Cloud Native pipelines from Tekton
Stars: ✭ 4,041 (+822.6%)
Mutual labels:  jenkins
Evidently
Interactive reports to analyze machine learning models during validation or production monitoring.
Stars: ✭ 304 (-30.59%)
Mutual labels:  html-report
Ansible Playbooks
Ansible playbook collection that have been written for Ubuntu. Some of the playbooks are Elasticsearch, Mesos, AWS, MySql, Sensu, Nginx etc..
Stars: ✭ 429 (-2.05%)
Mutual labels:  jenkins
Pipeline Aws Plugin
Jenkins Pipeline Step Plugin for AWS
Stars: ✭ 389 (-11.19%)
Mutual labels:  jenkins
Jenkins
Development repository for the jenkins cookbook
Stars: ✭ 416 (-5.02%)
Mutual labels:  jenkins
Jenkins Backup Script
archive jenkins setting and plugins
Stars: ✭ 358 (-18.26%)
Mutual labels:  jenkins
Luaunit
LuaUnit is a popular unit-testing framework for Lua, with an interface typical of xUnit libraries (Python unittest, Junit, NUnit, ...). It supports several output formats (Text, TAP, JUnit, ...) to be used directly or work with Continuous Integration platforms (Jenkins, Maven, ...).
Stars: ✭ 362 (-17.35%)
Mutual labels:  jenkins
Job Dsl Gradle Example
An example Job DSL project that uses Gradle for building and testing.
Stars: ✭ 404 (-7.76%)
Mutual labels:  jenkins
Docker Inbound Agent
Docker image for a Jenkins agent which can connect to Jenkins using TCP or Websocket protocols
Stars: ✭ 342 (-21.92%)
Mutual labels:  jenkins
Docker Workflow Plugin
Jenkins plugin which allows building, testing, and using Docker images from Jenkins Pipeline projects.
Stars: ✭ 419 (-4.34%)
Mutual labels:  jenkins
Jenkins
Jenkins automation server
Stars: ✭ 18,225 (+4060.96%)
Mutual labels:  jenkins
Danger Js
⚠️ Stop saying "you forgot to …" in code review
Stars: ✭ 4,076 (+830.59%)
Mutual labels:  jenkins
Pipeline
Pipeline is a package to build multi-staged concurrent workflows with a centralized logging output.
Stars: ✭ 433 (-1.14%)
Mutual labels:  jenkins
Cookbook
🎉🎉🎉JAVA高级架构师技术栈==任何技能通过 “刻意练习” 都可以达到融会贯通的境界,就像烹饪一样,这里有一份JAVA开发技术手册,只需要增加自己练习的次数。🏃🏃🏃
Stars: ✭ 428 (-2.28%)
Mutual labels:  jenkins
Fabric8 Pipeline Library
Fabric8 Pipeline for Jenkins
Stars: ✭ 409 (-6.62%)
Mutual labels:  jenkins

Travis Status AppVeyor Status Shippable Status Live Demo

Coverage Status Sonarqube Status 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";

Configuration configuration = new Configuration(reportOutputDirectory, projectName);
// optional configuration - check javadoc for details
configuration.addPresentationModes(PresentationMode.RUN_WITH_JENKINS);
// do not make scenario failed when step has status SKIPPED
configuration.setNotFailingStatuses(Collections.singleton(Status.SKIPPED));
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);

// optionally specify qualifiers for each of the report json files
configuration.addPresentationModes(PresentationMode.PARALLEL_TESTING);
configuration.setQualifier("cucumber-report-1", "First report");
configuration.setQualifier("cucumber-report-2", "Second report");

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

Continuous delivery and live demo

You can play with the live demo report before you decide if this is worth to use. Report is generated every time new change is merged into the main development branch so it always refers to the most recent version of this project. Sample configuration is provided by sample code.

Code quality

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

codecov.io

Contribution

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].