allure-framework / allure-framework/allure3

Cucumber JSON reader: better support of dialects

Open
#25 0 comments 0 reactions 0 assignees View on GitHub
type:improvement
Dominant language
HTML
Stars
401
Forks
58
Avg merge
2d 20h
Merged PRs (30d)
34

Description

1. Behave
- [ ] Data tables have a different format:
```json
{
"table": {
"headings": ["a", "b"],
"rows": [
["1", "2"],
["3", "4"]
]
}
}
```
- [ ] Durations are in seconds:
```json
{ "result": { "status": "passed", "duration": 5.888938903808594e-5 } }
```
- [ ] Error messages and scenario descriptions are arrays of strings:
```json
{
"error_message": [
"Traceback (most recent call last):",
" File \"/allure-examples/start-behave-py3.12-pip/.env/lib/python3.13/site-packages/behave/model.py\", line 1329, in run",
" match.run(runner.context)",
" ~~~~~~~~~^^^^^^^^^^^^^^^^",
" File \"/allure-examples/start-behave-py3.12-pip/.env/lib/python3.13/site-packages/behave/matchers.py\", line 98, in run",
" self.func(context, *args, **kwargs)",
" ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^",
" File \"test/steps/welcome_steps.py\", line 13, in step_impl",
" assert context.message == \"Hello from examples.allure-behave!!\"",
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^",
"AssertionError"
]
}
```
2. Cucumber-JS
- [x] #43
```json
{
"arguments": [
{
"content": "Lorem Ipsum...",
"line": 7
}
]
}
```

```json
{
"arguments": [
{
"rows": [
{ "cells": ["a", "b"] },
{ "cells": ["1", "2"] },
{ "cells": ["3", "4"] }
]
}
]
}
```

Contributor guide

Open the contributing guide

Research direction

Locate the Cucumber JSON reader and its dialect-handling entry point. Compare the Behave examples in this issue with the existing Cucumber-JS support, then determine how tables, durations, error messages, and scenario descriptions are represented. Done means the reader accepts the listed Behave formats while preserving the completed Cucumber-JS cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, python
Domain
testing
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.