cucumber-jvm-zephyr-xml
This Cucumber-JVM plugin generates JUnit XML with proprietary modifications to support Zephyr.
Warning: This plugin outputs additional XML elements that are incompatible with widely used XML schemas that validate the generated XML:
Adding these extra XML elements in the official JUnitXmlFormatter
would cause validation errors for all users using one of the validation schemas above.
For this reason this plugin is a fork of the JUnitXmlFormatter
. It has been forked from Cucumber-JVM 4.2.6.
Warning: This plugin has not been tested against later versions of Cucumber-JVM and is unlikely to be compatible with versions 5.x
and 6.x
.
Until this is fixed, users of this plugin will not be able to use recent versions of Cucumber-JVM.
Custom <requirements>
element
Any tags in the feature file starting with @JIRA_
will be outputted to the XML.
For example:
@JIRA_XYZ-1 @JIRA_XYZ-1 @smoke-test
Feature: something
This will output the following snippet in the generated XML
<requirements>
<requirement>AltID_XYZ-1</requirement>
<requirement>AltID_XYZ-2</requirement>
</requirements>
The plugin will replace @JIRA_
with AltID_
in the generated XML.
Using <tags>
element
@
tags in the feature file which are not recognised as requirements (see above), will be inserted into the XML results file as tag nodes.
For example:
@JIRA_XYZ-1 @JIRA_XYZ-1 @smoke-test
Feature: something
This will collect the first two tags as requirements and the last @
tag will be a tag for the zephyr tescase.
Here is an example of a single tag in the XML file:
<tags> ---// tags: parent element
<tag>Feature1</tag> ---// tag : child element
</tags>
Here is an example of multiple tags in the XML file:
<tags>
<tag>BVT1</tag>
<tag>BVT2</tag>
</tags>
Usage:
Add the dependency to your pom.xml:
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>zephyr-xml-formatter</artifactId>
<version>4.2.0.2</version>
</dependency>
Add the following to your JUnit class:
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"io.cucumber.zephyr.ZephyrXMLFormatter:target/zephyr.xml"})
Maintenance
This plugin is maintained by the SmartBear Zephyr team.
Release process
- Update the version number in
pom.xml
. - Update
CHANGELOG.md
to reflect the changes since the previous release. - Commit your files.
Contact somebody fro the Cucumber Open core team to get access to secrets.
make docker-run-with-secrets
make release
This should tag the git repository and upload artefacts to Maven Central.