- [FIX] Accept feature file names with spaces
- [FIX] Exception thrown when creating the Cucumber html report when using a FAT jar
- [ENHANCEMENT] Use a zoned date and time for the timestamp in the Courgette html report
- [MAINTENANCE] Upgrade to Gson 2.11.0 to address security vulnerabilities
- [FIX] Don't rerun failed tests when rerun attempts is set to 0
- [MAINTENANCE] Upgrade to Cucumber version 7.20.1
- [FIX] NullPointerException when resolving classpath feature URIs
- [FIX] Unable to create parent directories that are needed for the Courgette Json reporter
- [MAINTENANCE] Upgrade to Cucumber version 7.19.0
- [ENHANCEMENT] Include the number of scenarios in the results table of the Courgette html report.
- [ENHANCEMENT] Support overriding mobile device type at runtime (
-Dcourgette.mobileDeviceType=REAL_DEVICE
) - [MAINTENANCE] Upgrade to Cucumber version 7.18.1
- [IMPROVEMENT] Re-implement reporting processing to improve performance and reduce memory usage.
- [IMPROVEMENT] Various code changes and improvements to the core runtime.
- [NEW] Create a
courgette-report-processing-errors.txt
file if there are any report processing errors.
- [ENHANCEMENT] Add support for running tests inside a FAT jar that uses a classpath to locate feature files (bundled in JAR)
- [ENHANCEMENT] Load Courgette and Cucumber run options from environment variables first followed by system properties.
- [MAINTENANCE] Upgrade to Cucumber version 7.18.0
- [MAINTENANCE] Upgrade to Cucumber version 7.16.1
- [MAINTENANCE] Upgrade to Jackson version 2.17.0
- [MAINTENANCE] Upgrade to TestNG version 7.9.0
- [NEW] Add new Courgette option
generateCourgetteRunLog
to support in debugging parallel runs.
- [NEW] Add new Courgette option
mobileDeviceType
to support running tests that requires simulators and real devices in the same run. - [NEW] Add new Courgette option
realMobileDeviceTag
to allow Courgette to allocate real devices to tests with a matching tag. - [MAINTENANCE] Upgrade to Cucumber version 7.15.0
- [MAINTENANCE] Upgrade to Cucumber version 7.12.1
- [ENHANCEMENT] Add scenario badge to Courgette html report.
- [ENHANCEMENT] Update Courgette html report to always count the number of passed, failed and rerun scenarios irrespective of the run level.
- [ENHANCEMENT] Embed css and js scripts in the Courgette html report to support offline viewing and distribution.
- [FIX] Cucumber tag filtering due to a recent upgrade which resulted in features / scenarios always been run irrespective of the tags defined in the runner.
- [IMPROVEMENT] Improve handling of reruns by using the feature URI when the rerun file is empty / blank.
- [MAINTENANCE] Upgrade to Cucumber version 7.11.0
- [NEW] Add 2 new Courgette options
fixedThreadDelay
andrandomThreadDelay
to support adding a delay before the start of each feature or scenario. - [MAINTENANCE] Upgrade to Cucumber version 7.9.0
- [IMPROVEMENT] Include the iteration number in the Cucumber
xml
report for each Cucumber scenario outline. - [MAINTENANCE] Upgrade to Cucumber version 7.8.0
- [NEW] Allow access to Courgette thread id and name using system properties
courgette.threadId
andcourgette.threadName
- [ENHANCEMENT] Include all Cucumber
text
attachments in the Courgette html report. - [MAINTENANCE] Upgrade to Cucumber version 7.6.0
- [NEW] Add Courgette option
excludeTagFromRerun
to support excluding tests with matching Cucumber tags from re-running on failure. - [IMPROVEMENT] Print all failures at the end of the test run for improved visibility.
- [IMPROVEMENT] Improve handling of Cucumber report processing errors.
- [IMPROVEMENT] Prevent builds from failing when there are report processing errors.
- [NEW] Add Courgette option
testOutput
to allow redirecting the test output to the console or saving the test output to a file. - [NEW] Print Courgette test statistics to the console at the end of the test run to provide a snapshot of the test results (duration, passed, failed, retry etc)
- [BREAKING CHANGE] Removed Courgette option
showTestOutput
in favour of the new Courgette optiontestOutput
- [MAINTENANCE] Upgrade to Cucumber version 7.3.4
- [FIX] Courgette html report showing an incorrect test counter for tests that passed after rerun.
- [FIX] Courgette html report to include missing image and text/html embeddings before and after Cucumber steps.
- [NEW] Add Courgette option
slackTestId
to allow a custom identifier to be sent for each messaged published to Slack. - [NEW] Output the link to the Report Portal launch after each test run.
- [FIX] Result filtering in Report Portal launches.
- [ENHANCEMENT] Add support to override Courgette options of type String[] at runtime (plugin, classPath, mobileDevice, slackChannel, excludeFeatureFromRerun)
- [MAINTENANCE] Upgrade to Cucumber version 7.2.3
- [NEW] Add
CourgetteRunInfo
to allow access to test statistics and additional run information from a Courgette runner class. - [NEW] Add
CourgetteEvent.TEST_RUN_SUMMARY
Slack event to allow Courgette to send a summary of the test results to Slack. - [NEW] Add Courgette option
persistParallelCucumberJsonReports
to support saving Cucumber json and ndjson reports for each parallel test. - [ENHANCEMENT] Add system and environment information to Extent Reports.
- [ENHANCEMENT] Add additional property
COURGETTE_AND_CUCUMBER_HTML
associated to Courgette optiondisableHtmlReport
- [NEW] Add Courgette Mobile Device Allocator plugin to support parallel mobile application testing.
- [NEW] Add Courgette option
mobileDevice
to allow Courgette to track and allocate devices for mobile tests. - [UPDATE] Rename Courgette option
excludeFeaturesFromRerun
toexcludeFeatureFromRerun
- [FIX] Issue where Courgette html report did not render custom html when using
scenario.log()
- [MAINTENANCE] Upgrade to Cucumber version 7.1.0
- [NEW] Add new Courgette option
excludeFeaturesFromRerun
to allow Courgette to exclude features from re-running when it fails. - [MAINTENANCE] Upgrade to Cucumber version 7.0.0
- [FIX] Add a new line for each scenario.log() message in Courgette html report.
- [MAINTENANCE] Upgrade to Cucumber version 6.11.0
- [NEW] Publish real time results to Report Portal as tests execute.
- [NEW] Include scenario tags under each scenario in the Courgette html report.
- [MAINTENANCE] Upgrade to Cucumber version 6.10.3
- [FIX] Bug which raised uncaught exceptions when sending messages to Slack.
- [NEW] Add Slack integration to allow real time results and events to be posted to Slack channels.
- [MAINTENANCE] Upgrade to Cucumber version 6.10.1
- [NEW] Add new Courgette option
classPath
to allow Courgette to use a custom class path when running Cucumber tests.- This should provide a workaround to the
CreateProcess error=206
limitation on Windows operating systems.
- This should provide a workaround to the
- [FIX] Add missing step keyword in the Courgette html report.
- [NEW] Add new Courgette option
disableHtmlReport
to disable Courgette and Cucumber html reports from getting generated at the end of the test run. - [FIX] JUnit notifier that incorrectly set test results to be ignored.
- [FIX] Issue with
showTestOutput=false
which caused the test execution to hang on Windows OS.
- [FIX] Null pointer exception when trying to create reports from missing report data.
- [MAINTENANCE] Upgrade to Cucumber version 6.9.1
- [ENHANCEMENT] Improve performance and optimize memory when generating Cucumber and Courgette reports.
- [ENHANCEMENT] Use mustache templates when generating the Courgette html report.
- [ENHANCEMENT] Use a new dark theme for the Courgette html report.
- [ENHANCEMENT] Use CDN to deliver Courgette html report files.
- [UPGRADE] Courgette html report assets (js and css)
- [FIX] All security vulnerabilities identified by Nexus Vulnerability Scanner.
- [FIX] Out of memory exception when generating large Cucumber and Courgette reports.
- [BREAKING CHANGE] Previously cached Courgette html report assets (js and css) are no longer available due to security vulnerabilites that exists in those files.
- [FIX] Incorrect duration value when generating the Cucumber report.
- [MAINTENANCE] Upgrade to Cucumber version 6.9.0
- [FIX] Known Courgette limitation which resulted in report data from being overridden when using
CourgetteRunLevel.FEATURE
andrerunFailedScenarios = true
- [ENHANCEMENT] Use cucumber messages (ndjson) to generate Cucumber reports to improve reporting accuracy.
- [MAINTENANCE] Upgrade to Cucumber version 6.8.2
- [NEW] Courgette will publish the Cucumber report using the provided token from the
CUCUMBER_PUBLISH_TOKEN
system property or environment variable.
- [NEW] Add environment information to Courgette html report.
- [NEW] Add new Courgette option
environmentInfo
to allow additional environment information to be provided and displayed in the Courgette html report. - [NEW] Add a link to the published Cucumber report from the Courgette html report.
- [MAINTENANCE] Upgrade to Cucumber version 6.8.1
- [NEW] Add scenario grouping to Courgette html report when using CourgetteRunLevel.SCENARIO.
- [MAINTENANCE] Upgrade to Cucumber version 6.7.0
- [UPGRADE] Extent Reports version to 5.0.3
- [FIX] Handle NumberFormatException in Courgette Reporter.
- [ENHANCEMENT] Remove CDN and embed CSS and JS in Courgette html report. This enables viewing the Courgette html report when offline.
- Update Courgette Report Portal plugin.
- [NEW] Add support to send
rp.tags
to the latest launch.
- [NEW] Add support to send
- [NEW] Add Cucumber option 'publish' which publishes a single Cucumber Report to https://reports.cucumber.io/ after parallel execution.
- [MAINTENANCE] Upgrade to Cucumber version 6.6.0
- Upgrade to Cucumber version 6.4.0 see release notes
- Remove 'strict' cucumber option as this value is now defaulted to true in Cucumber. (This is a breaking change so you would need to update your Courgette runner class if you use this option)
- Code refactoring and improvements.
- Add new Courgette option 'reportTitle' to support overriding the default Courgette html report title.
- Add Extent Reports bdd type on feature creation which enables Extent Reports to create a BDD report.
- Courgette now creates a single Courgette Html Report.
- Changed Courgette Html Report to embed all images as a base64 image source.
- Changed Courgette Html Report to use a CDN to load JS and CSS files.
- Upgrade to Cucumber version 5.6.0
- Updated Extent Reports plugin to mark skipped steps.
- Courgette runner no longer requires the classpath to be built before execution. This also fixes the CreateProcess error=206 limitation on Windows OS.
- Removed 'shortenJavaClassPath' Courgette option.
- Upgrade to Extent Reports version 4.1.4
- Fixed issue which caused a java.nio.file.InvalidPathException in Windows OS.
- Upgrade to Cucumber version 5.5.0
- Code improvements / refactoring.
- Add new Courgette option 'shortenJavaClassPath' to provide a workaround to the "CreateProcess error=206, The filename or extension is too long" issue on Windows OS when using Java 8.
- Fixed bug which caused background steps to be incorrectly reported in the Courgette Html report.
- Upgrade to Extent Reports version 4.1.3
- Removed Extent Reports Cucumber adaptor
- Extent Reports now uses timestamps from the Cucumber report
- Upgrade Extent Reports adaptor to version 1.0.10
- Replace ExtentHtmlReporter with ExtentSparkReporter
- Embed base64 images to Extent Report
- Fix Extent Reports report issue which duplicated the name of all scenarios when CourgetteRunLevel.FEATURE was used.
- Add Extent Reports integration.
- Code base improvements.
- Report Portal launch name and test suite are now customizable.
- Report Portal properties can be overridden at runtime using system properties.
- Removed the file path from before & after hooks in the Courgette html report.
- Add apache httpclient dependency to Courgette.
- Add support for text/html mime types in the Courgette html report.
- Replaced REST Assured client with Apache HttpComponents HttpClient - MIME coded entities.
- Removed testng version 6 dependency.
- Upgrade to Cucumber-JVM 5.0.0-RC1
- Add new Courgette Option "plugin" to support additional Courgette integrations.
- Add "reportportal" plugin which integrates with https://reportportal.io/ to publish the report after the test run.
- Changed CourgetteOptions to use the courgette.api.CucumberOptions class instead of Cucumber provided classes.
- When the JUnit Courgette runner is invoked from the IDE, the run notifier is now updated with the result (pass or fail) after the test run.
- Upgrade to Cucumber-JVM 4.3.0
- Add new Courgette Option "rerunAttempts" to enable Courgette to rerun failed scenarios 'X' number of times before failing the test if does not succeed (default is 1).
- Add new status labels for Passed after Rerun and Failed after Rerun statuses in the Courgette html report.
- Add functionality to filter reruns in the Courgette html report.
- Fixed issued where the number "2" is appended to the scenario name in the Cucumber xml report.
- Fixed bug in JUnit xml parser which caused a MissingFormatArgumentException.
- Upgrade to Cucumber-JVM 4.2.0
- Add support for JDK 11.
- Fixed jrt module path which raised an error on Windows OS.
- Add setup and teardown hooks to Courgette (PR from jamsesso)
- Add support for multithreaded JUnit reports.
- A single xml report will be generated if the Cucumber junit plugin is specified: plugin = { junit:output-dir-path/cucumber.xml }
- Removed System.exit() from the JUnit runner as this was causing a Gradle MessageIOException on Windows operating systems.
- Updated runtime options to use the default runner options when empty system properties are provided. (such as -Dcucumber.tag=' ')
- Add support to specify the feature path(s) at runtime using a system property (multiple feature paths can be specified using a comma)
- Single feature file
- -Dcucumber.features="src/test/folder/Test.feature"
- Multiple feature file directorys
- -Dcucumber.features="src/test/folder1, src/test/folder2"
- Single feature file
- Upgrade to Cucumber-JVM 3.0.1
- Remove --format Cucumber option when creating Courgette runtime options as this option is no longer supported.
- Update Courgette-JVM html report to include Before and After step hooks (new hooks introduced in Cucumber-JVM 3.0.1)
- Change the way data table values are displayed in the Courgette-JVM html report.
- Fixed bug in JsonReportParser which throws an exception when parsing data table rows.
- Add support to use TestNG to run Cucumber features and scenarios in parallel. You can now extend your runner class with TestNGCourgette. Enhancement Request
- Add support for JDK 10.
- Update Courgette report to include data table row info.
- Update Courgette report to include feature and line info on the modal title.
-
Bug Fixes
- Fixed issue which caused Cucumber reports to be incorrectly created due to missing plugins.
- Added missing background steps to Courgette-JVM html report.
- Add ability to override default courgette report target directory (PR from Andrejs)
- Bug Fix
- Non reporting plugins are not added to runtime options.
- Upgrade to Cucumber-JVM 2.4.0
- Change Courgette-JVM html report to support additional Cucumber-JVM 2+ statuses.
- Add all custom step outputs (scenario.write) to Courgette html report.
- Fixed modal overflow in Courgette html report where text overflows the bounds of the modal.
- Update Courgette-JVM html report. Report now includes all step definitions, embedded screenshots, thrown exceptions, pie chart and Courgette run information.
- Remove "cucumber.options" system property (if set by the client) before calling the CLI because cucumber options are already parsed by Courgette beforehand.
- Add feature to provide non standard VM options for each VM thread.
- Courgette options (threads, runLevel, rerunFailedScenarios, showTestOutput) can now be overridden at runtime.
- Remove unnecessary href from Courgette Html report.
- Add default Cucumber runtime options (dryRun, strict, monochrome) to Courgette.
- Propagate Cucumber exception to Courgette when Cucumber features fail to load.
- Fixed bug which causes the Gradle build to fail when there are no matching features using the provided tags.
- Add functionality to override the cucumber options set the in Courgette runner.
- Add new Courgette-JVM html report. (Reports are fully searchable and pagniated)
- Fixed temp directory path for Unix (Ubuntu) systems.
- Fixed JSON output bug.
- Add support to run scenarios (in addition to running features) in parallel.
- Add new Courgettte option - runLevel
- Add Courgette Feature runner.
- Removed Courgette CLI runner.
- Add showTestOuput runtime option.
- Add all system properties to Courgette Feature runner.
- Update feature parser.
- Add Cucumber-Java8 dependancy
- Courgette no longer extends from Cucumber - it now extends from ParentRunner.
- Initial version release