Class CucumberJsonWriter

java.lang.Object
io.karatelabs.output.CucumberJsonWriter

public final class CucumberJsonWriter extends Object
Generates Cucumber JSON reports compatible with third-party tools (Allure, ReportPortal, etc.).

Output follows the standard Cucumber JSON schema:

 [
   {
     "id": "feature-id",
     "uri": "path/to/feature.feature",
     "name": "Feature Name",
     "keyword": "Feature",
     "elements": [
       {
         "id": "feature-id;scenario-id",
         "name": "Scenario Name",
         "keyword": "Scenario",
         "type": "scenario",
         "steps": [
           {
             "keyword": "Given ",
             "name": "step text",
             "result": { "status": "passed", "duration": 12345678 }
           }
         ]
       }
     ]
   }
 ]
 
  • Method Details

    • writeFeature

      public static void writeFeature(FeatureResult result, Path outputDir)
      Write Cucumber JSON report for a single feature.

      Output file is named {packageQualifiedName}.json and contains an array with a single feature object (Cucumber JSON format).

      Parameters:
      result - the feature result to convert
      outputDir - the directory to write the report
    • featureToJson

      public static String featureToJson(FeatureResult result)
      Convert a single feature result to Cucumber JSON string.

      Returns a JSON array containing a single feature object.

      Parameters:
      result - the feature result
      Returns:
      JSON string