Skip to main content

JSON Reports

Gwen can generete JSON reports enabling you to feed evaulation results into other Gherkin report formatters or your own custom one.

Generate reports

Launch Gwen with the -f json option to generate JSON reports when executing your features.

Example

Execute features in the gwen/features/todo folder and generate JSON reports only.

yarn gwen -b -f json gwen/features/todo

Execute features in the gwen/features/todo folder and generate HTML and JSON reports.

yarn gwen -b -f html,json gwen/features/todo

Gwen CLI

Output

  • Reports will be generated in the gwen/output/reports directory as per the default gwen.cli.options.report setting
    • The JSON report files will be generated at gwen/output/reports/json/*.json.
    • The HTML report will be generated at gwen/output/reports/index.html.
    • If you want reports generated in a different directory, you can either:
      • Amend the above setting to change the default
      • Or include the -r|--report CLI option and specify a directory on every launch

Sample output

File: json/features-todo-Todo.feature.json

[
{
"uri": "features\/todo\/Todo.feature",
"keyword": "Feature",
"id": "features-todo-Todo.feature;add-todo-items",
"line": 3,
"name": "features\/todo\/Todo.feature: Add todo items",
"description": "",
"tags": [
{
"name": "@Sample",
"line": 2,
}
],
"elements": [
{
"keyword": "Scenario",
"id": "scenario;create-todo-list;1",
"line": 5,
"name": "Create todo list",
"description": "",
"type": "scenario",
"steps": [
{
"keyword": "Given ",
"name": "a new todo list",
"line": 6,
"match": {
"location": "features\/todo\/Todo.meta:6"
},
"result": {
"status": "passed",
"duration": 6151153459
}
},
{
"keyword": "When ",
"name": "the following items are added",
"line": 7,
"rows": [
{
"cells": [
"Item"
],
"line": 8,
"id": "scenario;create-todo-list;1;1;8"
},
{
"cells": [
"Get the milk"
],
"line": 9,
"id": "scenario;create-todo-list;1;2;9"
},
{
"cells": [
"Walk the dog"
],
"line": 10,
"id": "scenario;create-todo-list;1;3;10"
}
],
"result": {
"status": "passed",
"duration": 18004904227
}
},
{
"keyword": "Then ",
"name": "the list will contain 2 items",
"line": 11,
"match": {
"location": "features\/todo\/Todo.meta:24"
},
"result": {
"status": "passed",
"duration": 201269901
}
}
]
}
]
}
]