All Projects → jenkinsci → Cucumber Reports Plugin

jenkinsci / Cucumber Reports Plugin

Licence: lgpl-2.1
Jenkins plugin to generate cucumber-jvm reports

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Cucumber Reports Plugin

Report
Report management package in PHP that aims to help you export information in a variety of formats
Stars: ✭ 125 (-25.6%)
Mutual labels:  report
Java Ddd Skeleton
♨️ DDD in Java skeleton & examples. Course:
Stars: ✭ 140 (-16.67%)
Mutual labels:  cucumber
Radish
Behavior Driven Development tooling for Python. The root from red to green.
Stars: ✭ 153 (-8.93%)
Mutual labels:  cucumber
Spreewald
Our collection of useful cucumber steps.
Stars: ✭ 131 (-22.02%)
Mutual labels:  cucumber
Vscode Coding Tracker
🕙 A coding activities tracker(time, file, type)
Stars: ✭ 137 (-18.45%)
Mutual labels:  report
Stateofjs 2019
State of JS 2019 survey report website
Stars: ✭ 145 (-13.69%)
Mutual labels:  report
Report
自动化配置报表平台。演示地址http://58.87.112.247/report 账号 visitor密码123456
Stars: ✭ 123 (-26.79%)
Mutual labels:  report
Stashnotifier Plugin
A Jenkins Plugin to notify Atlassian Stash|Bitbucket of build results
Stars: ✭ 157 (-6.55%)
Mutual labels:  jenkins-plugin
Cleanguitestarchitecture
Sample project of Android GUI test automation using Espresso, Cucumber and the Page Object Pattern
Stars: ✭ 139 (-17.26%)
Mutual labels:  cucumber
Csgo Overwatch Bot
Automatically solve CSGO Overwatch cases
Stars: ✭ 152 (-9.52%)
Mutual labels:  report
Aws Codebuild Jenkins Plugin
AWS CodeBuild integration as a Jenkins build step.
Stars: ✭ 132 (-21.43%)
Mutual labels:  jenkins-plugin
Net Core Docx Html To Pdf Converter
.NET Core library to create custom reports based on Word docx or HTML documents and convert to PDF
Stars: ✭ 133 (-20.83%)
Mutual labels:  report
Ztest
自动化测试报告
Stars: ✭ 143 (-14.88%)
Mutual labels:  report
Base App
An app to help jumpstart a new Rails 4 app. Features Ruby 2.0, PostgreSQL, jQuery, RSpec, Cucumber, user and admin system built with Devise, Facebook login.
Stars: ✭ 127 (-24.4%)
Mutual labels:  cucumber
Sonar Scanner Jenkins
SonarQube Scanner for Jenkins
Stars: ✭ 155 (-7.74%)
Mutual labels:  jenkins-plugin
Hy.common.report
报表、Excel操作类库。Java转Excel、Excel转Java
Stars: ✭ 124 (-26.19%)
Mutual labels:  report
Kakunin
An E2E testing framework
Stars: ✭ 141 (-16.07%)
Mutual labels:  cucumber
Webtau
Webtau (short for web test automation) is a testing API, command line tool and a framework to write unit, integration and end-to-end tests. Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. REPL mode speeds-up tests development. Rich reporting cuts down investigation time.
Stars: ✭ 156 (-7.14%)
Mutual labels:  report
Gunit
GUnit - Google.Test/Google.Mock/Cucumber on steroids
Stars: ✭ 156 (-7.14%)
Mutual labels:  cucumber
Sonar Cnes Report
Generates analysis reports from SonarQube web API.
Stars: ✭ 145 (-13.69%)
Mutual labels:  report

Build Travis Build Shippable

Popularity Live Demo

Codacy Badge

Publish pretty cucumber reports on Jenkins

This is a Java Jenkins plugin which publishes pretty html reports showing the results of cucumber runs. To use with regular cucumber just make sure to run cucumber like this: cucumber --plugin json -o cucumber.json

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 plugin allows Jenkins to publish the results as pretty html reports hosted by the Jenkins build server. In order for this plugin to work you must be using the JUnit runner and generating a json report. The plugin converts the json report into an overview html linking to separate feature file htmls with stats and results.

Install

  1. Get Jenkins.
  2. Install the Cucumber Reports plugin.
  3. Restart Jenkins.

Read this if you need further detailed install and configuration instructions

Use

You must use a Freestyle project type in jenkins.

With the cucumber-reports plugin installed in Jenkins, you simply check the "Publish cucumber results as a report" box in the publish section of the build config:

If you need more control over the plugin you can click the Advanced button for more options:

  1. Report title can be used to publish multiple reports from the same job - reports with different titles are stored separately; or leave blank for a single report with no title
  2. Leave empty for the plugin to automagically find your json files or enter the path to the json reports relative to the workspace if for some reason the automagic doesn't work for you
  3. Leave empty unless your jenkins is installed on a different url to the default hostname:port - see the wiki for further info on this option
  4. Tick if you want Skipped steps to cause the build to fail - see further down for more info on this
  5. Tick if you want Not Implemented/Pending steps to cause the build to fail - see further down for more info on this
  6. Tick if you want failed test not to fail the entire build but make it unstable

Advanced Configuration Options

There are 4 advanced configuration options that can affect the outcome of the build status. Click on the Advanced tab in the configuration screen:

Advanced Configuration

The first setting is Skipped steps fail the build - so if you tick this any steps that are skipped during executions will be marked as failed and will cause the build to fail:

If you check both skipped and not implemented fails the build then your report will look something like this:

Make sure you have configured cucumber to run with the JUnit runner and to generate a json report: (note - you can add other formatters in if you like e.g. pretty - but only the json formatter is required for the reports to work)

  import cucumber.junit.Cucumber;
  import org.junit.runner.RunWith;
  
  @RunWith(Cucumber.class)
  @Cucumber.Options(format = {"json:target/cucumber.json"})
  public class MyTest {
  
  }

Automated configuration

Pipeline usage

Typical step for report generation:

node {
    stage('Generate HTML report') {
        cucumber buildStatus: 'UNSTABLE',
                reportTitle: 'My report',
                fileIncludePattern: '**/*.json',
                trendsLimit: 10,
                classifications: [
                    [
                        'key': 'Browser',
                        'value': 'Firefox'
                    ]
                ]
    }
}

or post action when the build completes with some fancy features for the Gerrit integraion:

post {
    always {
        cucumber buildStatus: 'UNSTABLE',
                failedFeaturesNumber: 1,
                failedScenariosNumber: 1,
                skippedStepsNumber: 1,
                failedStepsNumber: 1,
                classifications: [
                        [key: 'Commit', value: '<a href="${GERRIT_CHANGE_URL}">${GERRIT_PATCHSET_REVISION}</a>'],
                        [key: 'Submitter', value: '${GERRIT_PATCHSET_UPLOADER_NAME}']
                ],
                reportTitle: 'My report',
                fileIncludePattern: '**/*cucumber-report.json',
                sortingMethod: 'ALPHABETICAL',
                trendsLimit: 100
    }
}

Raw DSL - This should be utilized after build steps (note that the title is not specified in this example)

configure { project ->
  project / 'publishers' << 'net.masterthought.jenkins.CucumberReportPublisher' {
    fileIncludePattern '**/*.json'
    fileExcludePattern ''
    jsonReportDirectory ''
    failedStepsNumber '0'
    skippedStepsNumber '0'
    pendingStepsNumber '0'
    undefinedStepsNumber '0'
    failedScenariosNumber '0'
    failedFeaturesNumber '0'
    buildStatus 'FAILURE'  //other option is 'UNSTABLE' - if you'd like it left unchanged, don't provide a value
    trendsLimit '0'
    sortingMethod 'ALPHABETICAL'
  }
}

When a build runs that publishes cucumber results it will put a link in the sidepanel to the cucumber reports. 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 failing

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

Develop

Interested in contributing to the Jenkins cucumber-reports plugin? 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].