### Cluecumber Command Line Execution Examples Source: https://context7.com/trivago/cluecumber/llms.txt Execute Cluecumber report generation directly from the command line. These examples demonstrate generating reports with POM configuration, overriding the start page, passing custom properties, and skipping generation. ```bash # Generate report with POM configuration mvn cluecumber:reporting ``` ```bash # Override start page via command line mvn cluecumber:reporting -Dreporting.startPage=ALL_TAGS ``` ```bash # Pass custom property defined in POM mvn cluecumber:reporting -DmyCustomProperty="Custom Value" ``` ```bash # Skip report generation mvn cluecumber:reporting -Dreporting.skip=true ``` -------------------------------- ### Full Cluecumber Programmatic Configuration Example Source: https://context7.com/trivago/cluecumber/llms.txt This example demonstrates setting various configuration options programmatically for Cluecumber report generation, including branding, colors, custom data, navigation links, report behavior, expansion defaults, and logging. ```java import com.trivago.cluecumber.core.CluecumberCore; import com.trivago.cluecumber.engine.constants.Settings; import com.trivago.cluecumber.engine.exceptions.CluecumberException; import com.trivago.cluecumber.engine.logging.CluecumberLogger; import java.util.LinkedHashMap; public class FullConfigurationExample { public static void main(String[] args) throws CluecumberException { // Custom parameters LinkedHashMap params = new LinkedHashMap<>(); params.put("Environment", "QA"); params.put("Build", "1.0.0-SNAPSHOT"); params.put("Jenkins_Job", "https://ci.example.com/job/123"); // Custom navigation links LinkedHashMap navLinks = new LinkedHashMap<>(); navLinks.put("Documentation", "https://docs.example.com"); navLinks.put("Jira_Board", "https://jira.example.com/board/1"); new CluecumberCore.Builder() // Branding .setCustomPageTitle("QA Automation Report") .setCustomLogoFile("assets/logo.png") .setCustomFaviconFile("assets/favicon.png") .setCustomCssFile("assets/custom.css") // Colors .setCustomStatusColorPassed("#28a745") .setCustomStatusColorFailed("#dc3545") .setCustomStatusColorSkipped("#6c757d") // Custom data .setCustomParameters(params) .setCustomParametersDisplayMode(Settings.CustomParamDisplayMode.ALL_PAGES) .setCustomNavigationLinks(navLinks) // Report behavior .setStartPage(Settings.StartPage.ALL_SCENARIOS) .setGroupPreviousScenarioRuns(true) .setExpandPreviousScenarioRuns(false) .setFailScenariosOnPendingOrUndefinedSteps(false) // Expansion defaults .setExpandBeforeAfterHooks(true) .setExpandStepHooks(false) .setExpandDocStrings(false) .setExpandAttachments(false) .setExpandOutputs(false) .setExpandSubSections(false) .setExpandErrorMessages(false) // Logging .setLogLevel(CluecumberLogger.CluecumberLogLevel.COMPACT) .build() .generateReports("target/cucumber-json", "target/cluecumber-report"); } } ``` -------------------------------- ### Define Report Start Page Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Customize the default start page of the reports using `setStartPage`. The default is the scenario overview page. ```java new CluecumberCore.Builder() .setStartPage(Settings.StartPage.ALL_SCENARIOS) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Configure Custom Parameters File Format Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Example format for a properties file used to define custom parameters. The format mirrors the `setCustomParameters` method. ```properties Custom_Parameter=This is a test Custom_URL=http://www.google.com _Text=This is a long text that is displayed without the key. This can be used to display longer texts in the report! ``` -------------------------------- ### Define Report Start Page Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Set the `startPage` property to customize the initial page displayed when the report is opened. Defaults to the scenario overview page. ```xml ALL_SCENARIOS ... ``` -------------------------------- ### Set Custom Parameters in Java Source: https://context7.com/trivago/cluecumber/llms.txt Add custom key-value parameters to be displayed on the report's start page. URLs are automatically converted to clickable links. Keys starting with an underscore hide the key name, displaying only the value. ```java import java.util.LinkedHashMap; LinkedHashMap parameters = new LinkedHashMap<>(); parameters.put("Environment", "Production"); parameters.put("Build_Number", "1.2.345"); parameters.put("Test_URL", "https://api.example.com"); parameters.put("_Note", "This text displays without showing the key name"); new CluecumberCore.Builder() .setCustomParameters(parameters) .build() .generateReports(jsonDirectory, reportDirectory); ``` ```xml Production 1.2.345 https://api.example.com <_Note>This text displays without showing the key name ``` -------------------------------- ### Add Custom Information to Report via Properties Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Define custom parameters directly within the configuration for display on the report's start page. Underscores in parameter names are converted to spaces, and URLs are automatically linked. Parameters starting with an underscore display only the value. ```xml This is a test http://www.google.com <_Text>This is a long text that is displayed without the key. This can be used to display longer texts in the report! ... ``` -------------------------------- ### Add Custom Parameters to Cluecumber Report Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Define custom key-value pairs to be displayed on the report's start page. Underscores in keys are converted to spaces, and valid URLs become clickable links. Parameters starting with an underscore only display the value. ```java var parameters = new LinkedHashMap(); parameters.put("Custom_Parameter", "This is a test"); parameters.put("Custom_URL", "http://www.google.com"); parameters.put("_Text", "This is a long text that is displayed without the key. This can be used to display longer texts in the report!"); new CluecumberCore.Builder() .setCustomParameters(parameters) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### setCustomParameters() - Display Custom Information Source: https://context7.com/trivago/cluecumber/llms.txt Add custom key-value parameters displayed on the report start page. URLs are automatically converted to clickable links, and keys starting with underscore show only values. ```APIDOC ## setCustomParameters() - Display Custom Information Add custom key-value parameters displayed on the report start page. URLs are automatically converted to clickable links, and keys starting with underscore show only values. ### Method ```java new CluecumberCore.Builder() .setCustomParameters(parameters) .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Parameters #### Request Body - **parameters** (LinkedHashMap) - Required - A map of key-value pairs for custom parameters. ### Request Example ```java LinkedHashMap parameters = new LinkedHashMap<>(); parameters.put("Environment", "Production"); parameters.put("Build_Number", "1.2.345"); parameters.put("Test_URL", "https://api.example.com"); parameters.put("_Note", "This text displays without showing the key name"); ``` ### Maven Configuration Equivalent ```xml Production 1.2.345 https://api.example.com <_Note>This text displays without showing the key name ``` ``` -------------------------------- ### Integrate Cluecumber with Karate Test Runner Source: https://github.com/trivago/cluecumber/blob/main/core/README.md In Karate, generate Cucumber JSON reports and then use CluecumberCore to build the HTML report. This example also shows how to set a custom report title. ```java @Test void testParallel() throws CluecumberException { final int threads = 10; Results results= Runner.path("classpath:karate/features") .outputCucumberJson(true) .outputHtmlReport(false) .parallel(threads); new CluecumberCore.Builder() .setCustomPageTitle("My cool report") .build() .generateReports( "target/karate-reports", "target/cluecumber"); assertEquals(0, results.getFailCount(), results.getErrorMessages()); } ``` -------------------------------- ### Integrate Cluecumber with Karate Test Runner Source: https://context7.com/trivago/cluecumber/llms.txt Integrate Cluecumber report generation within a Karate test runner for parallel test execution. This example generates the Cluecumber report after Karate tests complete, allowing for custom titles and grouping of scenario runs. ```java import com.intuit.karate.Results; import com.intuit.karate.Runner; import com.trivago.cluecumber.core.CluecumberCore; import com.trivago.cluecumber.engine.exceptions.CluecumberException; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; public class KarateTestRunner { @Test void testParallel() throws CluecumberException { final int threads = 10; Results results = Runner.path("classpath:karate/features") .outputCucumberJson(true) .outputHtmlReport(false) .parallel(threads); // Generate Cluecumber report before assertion so it's available even on failure new CluecumberCore.Builder() .setCustomPageTitle("Karate API Test Results") .setGroupPreviousScenarioRuns(true) .build() .generateReports("target/karate-reports", "target/cluecumber"); assertEquals(0, results.getFailCount(), results.getErrorMessages()); } ``` -------------------------------- ### Define and Pass Custom Parameters via Command Line Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Set custom parameters by defining an empty property in `pom.xml`'s properties block, then mapping it in the Cluecumber configuration. Pass the value using the `-D` option during reporting invocation. If not passed, the parameter is ignored. ```xml ``` ```xml ${someProperty} ``` ```bash mvn cluecumber:reporting -DsomeProperty="this is cool" -D... ``` -------------------------------- ### Basic Report Generation with CluecumberCore.Builder Source: https://context7.com/trivago/cluecumber/llms.txt Generate a Cluecumber report programmatically using the Builder pattern with minimal configuration. Specify the input JSON directory and the output report directory. ```java import com.trivago.cluecumber.core.CluecumberCore; import com.trivago.cluecumber.engine.exceptions.CluecumberException; public class BasicReportGenerator { public static void main(String[] args) throws CluecumberException { String jsonDirectory = "target/cucumber-report"; String reportDirectory = "target/cluecumber-report"; new CluecumberCore.Builder() .build() .generateReports(jsonDirectory, reportDirectory); // Report is now available at: target/cluecumber-report/index.html } ``` -------------------------------- ### Configure Plugin Logging Level Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Set the desired logging level for Cluecumber. Options include 'default', 'compact', 'minimal', and 'off'. ```xml default|compact|minimal|off ``` -------------------------------- ### Control Default Section Expansion Source: https://context7.com/trivago/cluecumber/llms.txt Configure which sections on scenario detail pages are expanded or collapsed by default. Set boolean values to true to expand and false to collapse. ```java new CluecumberCore.Builder() .setExpandBeforeAfterHooks(true) // Expand before/after hooks .setExpandStepHooks(false) // Collapse step hooks .setExpandDocStrings(true) // Expand docstrings .setExpandAttachments(false) // Collapse attachments .setExpandOutputs(true) // Expand step outputs .setExpandSubSections(false) // Collapse sub-sections .setExpandErrorMessages(true) // Expand error messages on overview pages .build() .generateReports(jsonDirectory, reportDirectory); ``` ```xml true false true false true false true ``` -------------------------------- ### setStartPage() - Configure Default Landing Page Source: https://context7.com/trivago/cluecumber/llms.txt Set which report page opens first when viewing the report. ```APIDOC ## setStartPage() - Configure Default Landing Page Set which report page opens first when viewing the report. ### Method ```java new CluecumberCore.Builder() .setStartPage(Settings.StartPage.ALL_FEATURES) .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Parameters #### Request Body - **startPage** (Settings.StartPage) - Required - The default landing page for the report. ### Available Start Pages - `Settings.StartPage.ALL_SCENARIOS` - Scenario overview (default) - `Settings.StartPage.SCENARIO_SEQUENCE` - Scenarios in execution order - `Settings.StartPage.ALL_TAGS` - Tag overview - `Settings.StartPage.ALL_STEPS` - Step overview - `Settings.StartPage.ALL_FEATURES` - Feature overview - `Settings.StartPage.ALL_EXCEPTIONS` - Exception overview - `Settings.StartPage.TREE_VIEW` - Tree view of features/scenarios - `Settings.StartPage.RERUN_SCENARIOS` - Rerun scenarios page ### Maven Configuration Equivalent ```xml ALL_FEATURES ``` ``` -------------------------------- ### Set Default Landing Page Source: https://context7.com/trivago/cluecumber/llms.txt Configure which report page opens first when viewing the generated report. Several options are available, including overview pages for features, scenarios, tags, steps, and more. ```java import com.trivago.cluecumber.engine.constants.Settings; new CluecumberCore.Builder() .setStartPage(Settings.StartPage.ALL_FEATURES) .build() .generateReports(jsonDirectory, reportDirectory); ``` ```xml ALL_FEATURES ``` -------------------------------- ### Set Custom Logo and Favicon Source: https://context7.com/trivago/cluecumber/llms.txt Add custom logo and favicon files for company branding in the reports. Ensure image dimensions meet the specified requirements. ```java new CluecumberCore.Builder() .setCustomLogoFile("assets/company-logo.png") // Max 300px width, 100px height .setCustomFaviconFile("assets/favicon.png") // 16x16 or 32x32 PNG .build() .generateReports(jsonDirectory, reportDirectory); ``` ```xml assets/company-logo.png assets/favicon.png ``` -------------------------------- ### Configure Cluecumber Log Level Source: https://context7.com/trivago/cluecumber/llms.txt Use `setLogLevel()` to control the verbosity of Cluecumber's output during report generation. Available levels include DEFAULT, COMPACT, MINIMAL, and OFF. ```java import com.trivago.cluecumber.engine.logging.CluecumberLogger; new CluecumberCore.Builder() .setLogLevel(CluecumberLogger.CluecumberLogLevel.COMPACT) .build() .generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Configure Auto-expansion of Report Sections Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Set these options to true to automatically expand specific sections like hooks, docstrings, and outputs on scenario detail pages. Defaults to false. ```xml true|false true|false true|false true|false true|false ... ``` -------------------------------- ### Configure Display Mode for Custom Parameters Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Control where custom parameters are displayed in the report. Options are 'SCENARIO_PAGES' (default) or 'ALL_PAGES'. ```xml ALL_PAGES ... ``` -------------------------------- ### Configure Cluecumber Logging Level Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Set the logging level for Cluecumber to control the amount of information logged during report generation. Options include DEFAULT, COMPACT, MINIMAL, and OFF. ```java new CluecumberCore.Builder() .setLogLevel(CluecumberLogger.CluecumberLogLevel.MINIMAL) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Add Custom Parameters from a Properties File Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Specify a properties file to load custom parameters for the Cluecumber report. These parameters are added on top of existing ones and will overwrite duplicates. ```java new CluecumberCore.Builder() .setCustomParametersFile("c:/myProperties.properties") .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### setCustomParametersFile() - Load Parameters from Properties File Source: https://context7.com/trivago/cluecumber/llms.txt Load custom parameters from an external properties file for easier configuration management. ```APIDOC ## setCustomParametersFile() - Load Parameters from Properties File Load custom parameters from an external properties file for easier configuration management. ### Method ```java new CluecumberCore.Builder() .setCustomParametersFile("config/report-params.properties") .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Parameters #### Request Body - **customParametersFile** (String) - Required - Path to the properties file containing custom parameters. ### Request Example (File Content) ```properties Environment=Staging Build_Version=2.0.0 API_Endpoint=https://staging-api.example.com _Description=Nightly regression test run ``` ### Maven Configuration Equivalent ```xml config/report-params.properties ``` ``` -------------------------------- ### Define Custom CSS File Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Use `setCustomCssFile` to specify a custom CSS file that will be loaded on top of Cluecumber's default styles. This allows for modifications to the report's appearance, such as background and header colors, or hiding specific elements. ```java new CluecumberCore.Builder() .setCustomCssFile("custom/custom.css") .build().generateReports(jsonDirectory, reportDirectory); ``` ```css body { background-color: black; } h3, h4, h5 { color: white; } ``` ```css .some_element { display: none; } ``` -------------------------------- ### Fail Scenarios on Pending or Undefined Steps Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Enable this option to mark scenarios as 'failed' if they contain 'pending' or 'skipped' steps. The default behavior is to mark them as 'skipped'. ```xml true ... ``` -------------------------------- ### Enable Compact View for Repeated Scenarios Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Group multiple runs of the same scenario to display previous runs as nested elements on the 'All scenarios' page. This feature is based on scenario ID and line number. The default expansion state can be configured. ```xml true ... ``` -------------------------------- ### Load Custom Parameters from Properties File Source: https://context7.com/trivago/cluecumber/llms.txt Load custom parameters from an external properties file to simplify configuration management. This is useful for managing a large number of parameters or for environments where file-based configuration is preferred. ```java new CluecumberCore.Builder() .setCustomParametersFile("config/report-params.properties") .build() .generateReports(jsonDirectory, reportDirectory); ``` ```properties Environment=Staging Build_Version=2.0.0 API_Endpoint=https://staging-api.example.com _Description=Nightly regression test run ``` ```xml config/report-params.properties ``` -------------------------------- ### Pass Built-in Properties via Command Line Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Override built-in Cluecumber properties directly on the command line using the `reporting.` prefix. This is only possible if the property is not already defined in the `pom.xml`. ```bash mvn cluecumber:reporting -Dreporting.startPage=ALL_TAGS ``` -------------------------------- ### Generate Cluecumber Reports with Mandatory Parameters Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Use the CluecumberCore builder to generate reports, providing the directory for Cucumber JSON files and the desired report output directory. ```java String jsonDirectory = "examples/core-example/json"; String reportDirectory = "examples/core-example/target/cluecumber_report"; new CluecumberCore.Builder() .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Auto-expand Report Sections Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Set these options to true to automatically expand before/after hooks, step hooks, docstrings, outputs, and sub-sections on scenario detail pages. Defaults to false. ```java new CluecumberCore.Builder() .setExpandBeforeAfterHooks(true) .setExpandStepHooks(true) .setExpandDocStrings(true) .setExpandOutputs(true) .expandSubSections(true) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Fail Scenarios on Pending or Undefined Steps Source: https://context7.com/trivago/cluecumber/llms.txt Enable strict failure mode to mark scenarios as failed instead of skipped when they contain pending or undefined steps. ```java new CluecumberCore.Builder() .setFailScenariosOnPendingOrUndefinedSteps(true) .build() .generateReports(jsonDirectory, reportDirectory); ``` ```xml true ``` -------------------------------- ### Fail Scenarios on Pending or Undefined Steps Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Configure Cluecumber to mark scenarios as 'failed' if they contain pending or skipped steps. The default behavior is to mark them as 'skipped'. ```java new CluecumberCore.Builder() .setFailScenariosOnPendingOrUndefinedSteps(true) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Apply Custom CSS File Source: https://context7.com/trivago/cluecumber/llms.txt Override default report styles by providing a path to a custom CSS file for complete visual customization. ```java new CluecumberCore.Builder() .setCustomCssFile("custom/styles.css") .build() .generateReports(jsonDirectory, reportDirectory); ``` ```css body { background-color: #f5f5f5; } h3, h4, h5 { color: #333; } .scenario-header { border-left: 4px solid #007bff; } ``` ```xml custom/styles.css ``` -------------------------------- ### Complete Cluecumber Maven Plugin Configuration Source: https://context7.com/trivago/cluecumber/llms.txt Use this XML configuration in your pom.xml for comprehensive Maven-based report generation. It includes mandatory settings, branding options, custom colors, parameters, navigation, report behavior, expansion settings, logging, and skip functionality. ```xml com.trivago.rta cluecumber-maven 3.14.0 report post-integration-test reporting ${project.build.directory}/cucumber-report ${project.build.directory}/cluecumber-report My Project Test Report ${project.basedir}/assets/logo.png ${project.basedir}/assets/favicon.png ${project.basedir}/assets/custom.css #28a745 #dc3545 #6c757d Production ${project.version} https://jenkins.example.com ALL_PAGES https://docs.example.com https://jira.example.com ALL_SCENARIOS true false false true false false false false false false compact false ``` -------------------------------- ### Add Custom Information to Report via Properties File Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Specify a properties file to load custom parameters for the report. This method allows for external management of custom data and overwrites existing properties with the same name. ```xml path/to/your/customParameters.properties ... ``` -------------------------------- ### Configure Auto-expansion of Previous Runs Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md When `groupPreviousScenarioRuns` is active, setting `expandPreviousScenarioRuns` to true expands previous runs' children elements on the all scenarios page. Defaults to false. ```xml true|false ... ``` -------------------------------- ### Define Custom Logo Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Set the `customLogo` property to a PNG file to replace the default logo displayed in the top right corner of every page. The logo is automatically scaled to a maximum width of 300px and/or height of 100px if its dimensions exceed these limits. ```java new CluecumberCore.Builder() .setCustomLogo("custom/logo.png") .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### setCustomLogoFile() and setCustomFaviconFile() - Branding Source: https://context7.com/trivago/cluecumber/llms.txt Add custom logo and favicon for company branding in reports. ```APIDOC ## setCustomLogoFile() and setCustomFaviconFile() - Branding ### Description Add custom logo and favicon for company branding in reports. ### Method Builder methods ### Endpoint N/A (Code configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```java new CluecumberCore.Builder() .setCustomLogoFile("assets/company-logo.png") // Max 300px width, 100px height .setCustomFaviconFile("assets/favicon.png") // 16x16 or 32x32 PNG .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Response None (Configuration applies to report generation) ### Error Handling N/A ``` -------------------------------- ### Configure Auto-expansion of Attachments Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Set `expandAttachments` to true to automatically expand attachments by default. Otherwise, they are collapsed and can be toggled individually. ```xml true|false ... ``` -------------------------------- ### Specify Generated HTML Report Directory Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Configure the `generatedHtmlReportDirectory` parameter to define the output directory for the Cluecumber HTML reports. This directory will contain the generated report files. ```xml c:/example/my-report ... ``` -------------------------------- ### Configure Cluecumber Maven Plugin in POM Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Integrate the Cluecumber Maven plugin into your pom.xml to automatically generate reports after integration tests. Specify source and output directories within the plugin configuration. ```xml com.trivago.rta cluecumber-maven 3.11.0 report post-integration-test reporting ${project.build.directory}/cucumber-report ${project.build.directory}/generated-report ``` -------------------------------- ### setFailScenariosOnPendingOrUndefinedSteps() - Strict Failure Mode Source: https://context7.com/trivago/cluecumber/llms.txt Mark scenarios as failed instead of skipped when they contain pending or undefined steps. ```APIDOC ## setFailScenariosOnPendingOrUndefinedSteps() - Strict Failure Mode ### Description Mark scenarios as failed instead of skipped when they contain pending or undefined steps. ### Method Builder method ### Endpoint N/A (Code configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```java new CluecumberCore.Builder() .setFailScenariosOnPendingOrUndefinedSteps(true) .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Response None (Configuration applies to report generation) ### Error Handling N/A ``` -------------------------------- ### Enable Compact View for Repeated Scenarios Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Group multiple runs of the same scenario to simplify reports, especially for reruns. This feature nests previous runs as children of the last run, based on scenario ID and line number. The default expansion state can be controlled with `expandPreviousScenarioRuns`. ```java new CluecumberCore.Builder() .setGroupPreviousScenarioRuns(true) .setExpandPreviousScenarioRuns(false) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Define Custom CSS File Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Specify a custom CSS file using the `customCss` property to override Cluecumber's default styles. This file is automatically included during report generation. ```xml custom/custom.css ... ``` ```css body { background-color: black; } h3, h4, h5 { color: white; } ``` ```css .some_element { display: none; } ``` -------------------------------- ### Configure Maven Execution for Reporting Goal Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Configure the Maven reporting goal within the `executions` block for specific runs, or outside for command-line invocations. Configuration within `executions` only applies to that specific execution. ```xml report post-integration-test reporting ``` -------------------------------- ### Set Custom Favicon for Cluecumber Reports Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Customize the browser tab icon by setting the `customFavicon` property. Ensure the provided file is a PNG and meets the size requirements (16x16 or 32x32 pixels). ```java new CluecumberCore.Builder() .setCustomFavicon("custom/favicon.png") .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Set Custom Status Colors Source: https://context7.com/trivago/cluecumber/llms.txt Customize the colors for passed, failed, and skipped scenarios. Use hex color codes. ```java new CluecumberCore.Builder() .setCustomStatusColorPassed("#28a745") // Green .setCustomStatusColorFailed("#dc3545") // Red .setCustomStatusColorSkipped("#ffc107") // Yellow/Orange .build() .generateReports(jsonDirectory, reportDirectory); ``` ```xml #28a745 #dc3545 #ffc107 ``` -------------------------------- ### Set Display Mode for Custom Parameters Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Control where custom parameters are displayed in the report. Options include displaying on all pages or only on scenario pages. ```java new CluecumberCore.Builder() .setCustomParameters(parameters) .setCustomParametersDisplayMode(Settings.CustomParamDisplayMode.ALL_PAGES) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### setCustomStatusColor*() - Custom Color Scheme Source: https://context7.com/trivago/cluecumber/llms.txt Customize the colors used for passed, failed, and skipped scenarios in charts and indicators. ```APIDOC ## setCustomStatusColor*() - Custom Color Scheme ### Description Customize the colors used for passed, failed, and skipped scenarios in charts and indicators. ### Method Builder methods ### Endpoint N/A (Code configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```java new CluecumberCore.Builder() .setCustomStatusColorPassed("#28a745") // Green .setCustomStatusColorFailed("#dc3545") // Red .setCustomStatusColorSkipped("#ffc107") // Yellow/Orange .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Response None (Configuration applies to report generation) ### Error Handling N/A ``` -------------------------------- ### setCustomCssFile() - Apply Custom Styles Source: https://context7.com/trivago/cluecumber/llms.txt Override default report styles with a custom CSS file for complete visual customization. ```APIDOC ## setCustomCssFile() - Apply Custom Styles ### Description Override default report styles with a custom CSS file for complete visual customization. ### Method Builder method ### Endpoint N/A (Code configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```java new CluecumberCore.Builder() .setCustomCssFile("custom/styles.css") .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Response None (Configuration applies to report generation) ### Error Handling N/A ``` -------------------------------- ### Auto-expand Previous Scenario Runs Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Set `groupPreviousScenarioRuns` and `expandPreviousScenarioRuns` to true to expand previous runs' children elements of the same scenario on the all scenarios page. This requires `groupPreviousScenarioRuns` to be active. ```java new CluecumberCore.Builder() .setGroupPreviousScenarioRuns(true) .setExpandPreviousScenarioRuns(true) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Add Custom Navigation Links Source: https://context7.com/trivago/cluecumber/llms.txt Add external links to the report's navigation header. This allows quick access to related resources such as CI/CD pipelines, documentation, or relevant blog posts. ```java LinkedHashMap links = new LinkedHashMap<>(); links.put("CI_Pipeline", "https://jenkins.example.com/job/my-project"); links.put("Test_Blog", "https://www.softwaretester.blog"); links.put("API_Docs", "https://docs.example.com/api"); new CluecumberCore.Builder() .setCustomNavigationLinks(links) .build() .generateReports(jsonDirectory, reportDirectory); ``` ```xml https://jenkins.example.com/job/my-project https://www.softwaretester.blog ``` -------------------------------- ### Configure Cucumber JSON Output Source: https://context7.com/trivago/cluecumber/llms.txt Configure your Cucumber runner to output JSON results for Cluecumber processing. Ensure the output path matches the configured directory in Cluecumber. ```java @CucumberOptions( plugin = {"json:target/cucumber-report/cucumber.json"} ) public class RunCucumberTest { // Your test runner implementation } ``` -------------------------------- ### Specify Source JSON Report Directory Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Configure the `sourceJsonReportDirectory` parameter within the Cluecumber Maven plugin configuration to point to the location of your Cucumber JSON report files. ```xml c:/example/json-files ... ``` -------------------------------- ### Configure Auto-expansion of Error Messages Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Set `expandErrorMessages` to true to expand error messages by default on scenario summary and sequence pages. This option does not affect the scenario detail page. Defaults to false. ```xml true|false ... ``` -------------------------------- ### Define Custom Favicon Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Use the `customFavicon` property to specify a custom favicon (16x16 or 32x32 PNG) that will appear in the browser tab. ```xml custom/favicon.png ... ``` -------------------------------- ### setExpand*() - Control Default Section Expansion Source: https://context7.com/trivago/cluecumber/llms.txt Configure which report sections are expanded or collapsed by default on scenario detail pages. ```APIDOC ## setExpand*() - Control Default Section Expansion ### Description Configure which report sections are expanded or collapsed by default on scenario detail pages. ### Method Builder methods ### Endpoint N/A (Code configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```java new CluecumberCore.Builder() .setExpandBeforeAfterHooks(true) // Expand before/after hooks .setExpandStepHooks(false) // Collapse step hooks .setExpandDocStrings(true) // Expand docstrings .setExpandAttachments(false) // Collapse attachments .setExpandOutputs(true) // Expand step outputs .setExpandSubSections(false) // Collapse sub-sections .setExpandErrorMessages(true) // Expand error messages on overview pages .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Response None (Configuration applies to report generation) ### Error Handling N/A ``` -------------------------------- ### Add Custom Navigation Links to Report Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Define custom navigation links to be added to the report's navigation bar. Underscores in the link names are replaced with spaces. ```xml https://www.softwaretester.blog ... ``` -------------------------------- ### Add Custom Navigation Links to Cluecumber Report Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Define custom links to be added to the Cluecumber report's navigation bar. Underscores in link names are replaced with spaces. ```java LinkedHashMap links = new LinkedHashMap<>(); links.put("Test Blog", "https://www.softwaretester.blog"); links.put("Twitter", "https://twitter.com/BischoffDev"); new CluecumberCore.Builder() .setCustomNavigationLinks(links) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### setCustomParametersDisplayMode() - Control Parameter Visibility Source: https://context7.com/trivago/cluecumber/llms.txt Configure where custom parameters appear in the report: only on scenario pages (default) or on all pages. ```APIDOC ## setCustomParametersDisplayMode() - Control Parameter Visibility Configure where custom parameters appear in the report: only on scenario pages (default) or on all pages. ### Method ```java new CluecumberCore.Builder() .setCustomParameters(parameters) .setCustomParametersDisplayMode(Settings.CustomParamDisplayMode.ALL_PAGES) .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Parameters #### Request Body - **customParametersDisplayMode** (Settings.CustomParamDisplayMode) - Required - The display mode for custom parameters. ### Available Modes - `Settings.CustomParamDisplayMode.SCENARIO_PAGES` - Display on scenario pages only (default) - `Settings.CustomParamDisplayMode.ALL_PAGES` - Display on all report pages ### Maven Configuration Equivalent ```xml ALL_PAGES ``` ``` -------------------------------- ### Group Previous Scenario Runs Source: https://context7.com/trivago/cluecumber/llms.txt Group multiple runs of the same scenario together to track reruns and flaky tests. Configure default expansion of these grouped runs. ```java new CluecumberCore.Builder() .setGroupPreviousScenarioRuns(true) // Enable grouping of scenario reruns .setExpandPreviousScenarioRuns(false) // Collapse previous runs by default .build() .generateReports(jsonDirectory, reportDirectory); ``` ```xml true false ``` -------------------------------- ### Configure Cucumber Runner for JSON Output Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Ensure your Cucumber runner class is configured with the `json` plugin to generate the necessary JSON report files. This output is required as input for the Cluecumber Maven plugin. ```java @CucumberOptions( plugin = {"json:target/cucumber-report/cucumber.json"} ) ``` -------------------------------- ### Define Custom Logo Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Set the `customLogo` property to a PNG file to display a custom logo in the top right corner of every report page. The logo is automatically resized if it exceeds maximum dimensions. ```xml custom/logo.png ... ``` -------------------------------- ### setGroupPreviousScenarioRuns() - Rerun Scenario Grouping Source: https://context7.com/trivago/cluecumber/llms.txt Group multiple runs of the same scenario together, useful for test reruns and flaky test tracking. ```APIDOC ## setGroupPreviousScenarioRuns() - Rerun Scenario Grouping ### Description Group multiple runs of the same scenario together, useful for test reruns and flaky test tracking. ### Method Builder methods ### Endpoint N/A (Code configuration) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```java new CluecumberCore.Builder() .setGroupPreviousScenarioRuns(true) // Enable grouping of scenario reruns .setExpandPreviousScenarioRuns(false) // Collapse previous runs by default .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Response None (Configuration applies to report generation) ### Error Handling N/A ``` -------------------------------- ### Configure Cucumber Runner for JSON Output Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Specify the 'json:target/cucumber-report/cucumber.json' plugin in your Cucumber runner options to generate the necessary JSON output for Cluecumber. ```java @CucumberOptions( plugin = {"json:target/cucumber-report/cucumber.json"} ) ``` -------------------------------- ### Skip Report Generation Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Set to 'true' to completely disable Cluecumber report generation. The default value is 'false'. ```xml true ... ``` -------------------------------- ### Define Custom Report Title Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Change the default HTML page title using `setCustomPageTitle`. The default title is 'Cluecumber Report' followed by the current page name. ```java new CluecumberCore.Builder() .setCustomPageTitle("My Report") .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Define Custom Colors for Test Statuses Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Change the color scheme for passed, failed, and skipped steps and scenarios, including diagrams, by setting hex color values for `customStatusColorPassed`, `customStatusColorFailed`, and `customStatusColorSkipped`. ```java new CluecumberCore.Builder() .setCustomStatusColorPassed("#017FAF") .setCustomStatusColorFailed("#C94A38") .setCustomStatusColorSkipped("#F48F00") .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### Set Custom Colors for Statuses Source: https://github.com/trivago/cluecumber/blob/main/maven/README.md Define custom hex colors for passed, failed, and skipped steps and scenarios to alter the report's color scheme. Ensure values are valid hex color codes. ```xml #017FAF #C94A38 #F48F00 ... ``` -------------------------------- ### Auto-expand Attachments Source: https://github.com/trivago/cluecumber/blob/main/core/README.md Set `expandAttachments` to true to automatically expand attachments. By default, attachments are collapsed and can be toggled individually. ```java new CluecumberCore.Builder() .setExpandAttachments(true) .build().generateReports(jsonDirectory, reportDirectory); ``` -------------------------------- ### setCustomNavigationLinks() - Add External Links to Navigation Source: https://context7.com/trivago/cluecumber/llms.txt Add custom navigation links in the report header for quick access to related resources. ```APIDOC ## setCustomNavigationLinks() - Add External Links to Navigation Add custom navigation links in the report header for quick access to related resources. ### Method ```java new CluecumberCore.Builder() .setCustomNavigationLinks(links) .build() .generateReports(jsonDirectory, reportDirectory); ``` ### Parameters #### Request Body - **links** (LinkedHashMap) - Required - A map where keys are link names and values are URLs. ### Request Example ```java LinkedHashMap links = new LinkedHashMap<>(); links.put("CI_Pipeline", "https://jenkins.example.com/job/my-project"); links.put("Test_Blog", "https://www.softwaretester.blog"); links.put("API_Docs", "https://docs.example.com/api"); ``` ### Maven Configuration Equivalent ```xml https://jenkins.example.com/job/my-project https://www.softwaretester.blog ``` ```