Passed 14
Failed 7
Undefined 4
56.0% pass rate
Status distribution
Scenarios over time
Duration histogram
Slowest scenarios
Tags with worst pass rate
Error distribution
Behavior of the checkout subsystem including rules.
-
features/Checkout.feature:20
-
Then
the user opens the dashboard
356ms
-
And
the cart contains 5 items
916ms
-
Given
the cart contains 5 items
733ms
-
features/Checkout.feature:4
-
When
the user opens the dashboard
814ms
-
Given
the user opens the dashboard
41ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
When
the cart contains 1 items
243ms
-
features/Checkout.feature:8
-
Then
the response payload matches the schema
412ms
-
When
the user opens the dashboard
459ms
-
Then
the user opens the dashboard
877ms
-
Given
the cart contains 2 items
355ms
-
When
the user opens the dashboard
795ms
-
Given
the response payload matches the schema
337ms
-
features/Checkout.feature:12
-
Then
the cart contains 2 items
764ms
-
When
the response payload matches the schema
328ms
-
When
the user opens the dashboard
279ms
-
Then
the user opens the dashboard
257ms
-
features/Checkout.feature:16
-
And
they click the buy button
322ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
Then
the cart contains 7 items
482ms
-
When
the user opens the dashboard
908ms
-
When
the response payload matches the schema
718ms
-
And
the cart contains 8 items
305ms
Login scenarios with background and outline examples.
-
features/login.feature:10
Scenario Outline
Login with valid credentials
-
Given
the username is "alice"
100ms
-
When
the user logs in
200ms
-
Then
the dashboard is shown
100ms
Examples
| username | password |
| alice | secret1 |
| bob | secret2 |
| carol | secret3 |
-
features/login.feature:20
Scenario Outline
Login with invalid credentials
-
Given
the username is "eve"
100ms
-
When
the user logs in
200ms
-
Then
the error is shown
100ms
Examples
| username | password |
| eve | wrong |
| mallory | bad |
Behavior of the authentication subsystem.
-
features/Authentication.feature:4
-
Given
the API returns 200
291ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
Given
the user opens the dashboard
1.17s
-
When
the cart contains 8 items
202ms
-
features/Authentication.feature:8
-
And
the user opens the dashboard
301ms
-
Then
they click the login button
708ms
-
Given
they click the buy button
86ms
-
Then
they click the login button
338ms
-
When
the cart contains 3 items
694ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
features/Authentication.feature:12
-
And
the user opens the dashboard
810ms
-
Given
the user opens the dashboard
302ms
-
And
they click the login button
338ms
-
features/Authentication.feature:16
-
Given
the user opens the dashboard
1.16s
-
When
the response payload matches the schema
260ms
-
Given
the user opens the dashboard
1.18s
-
And
the cart contains 7 items
796ms
-
When
they click the login button
1.16s
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
Given
the user opens the dashboard
65ms
-
features/Authentication.feature:20
-
Given
the response payload matches the schema
148ms
-
When
the cart contains 1 items
103ms
-
Then
the API returns 200
290ms
-
features/Authentication.feature:24
-
Given
the user opens the dashboard
647ms
-
Then
the user opens the dashboard
1.06s
-
Then
the cart contains 8 items
846ms
-
Given
the API returns 200
1.12s
-
When
the user opens the dashboard
892ms
-
features/Authentication.feature:28
-
Then
the API returns 200
1.09s
-
Given
the API returns 200
58ms
-
When
they click the buy button
891ms
-
And
the user opens the dashboard
95ms
-
features/Authentication.feature:32
-
And
the API returns 200
441ms
-
Then
the user opens the dashboard
428ms
-
And
they click the buy button
1.04s
-
And
the API returns 200
940ms
-
When
the user opens the dashboard
462ms
Behavior of the reporting subsystem.
-
features/Reporting.feature:4
-
When
the response payload matches the schema
397ms
-
Then
the response payload matches the schema
817ms
-
Then
the API returns 200
218ms
-
Given
the API returns 200
876ms
-
And
the user opens the dashboard
465ms
-
features/Reporting.feature:8
-
When
the user opens the dashboard
1.14s
-
Then
the API returns 200
611ms
-
Then
the cart contains 5 items
157ms
-
features/Reporting.feature:12
-
Then
the response payload matches the schema
944ms
-
And
they click the submit button
616ms
-
Given
the cart contains 9 items
406ms
-
Then
they click the login button
34ms
-
And
the response payload matches the schema
500ms
-
When
the response payload matches the schema
483ms
-
features/Reporting.feature:16
-
When
the response payload matches the schema
65ms
-
Given
the response payload matches the schema
803ms
-
Then
the response payload matches the schema
998ms
-
features/Reporting.feature:20
-
And
the API returns 200
531ms
-
When
the API returns 200
1.07s
-
When
the response payload matches the schema
834ms
-
Given
the API returns 200
653ms
-
Given
the response payload matches the schema
1.09s
-
features/Reporting.feature:24
-
Then
the cart contains 7 items
898ms
-
When
the API returns 200
526ms
-
And
they click the submit button
1.01s
-
Given
the user opens the dashboard
773ms
-
And
the API returns 200
458ms
-
And
the response payload matches the schema
338ms
Behavior of the settings subsystem.
-
features/Settings.feature:4
-
When
the user opens the dashboard
906ms
-
When
they click the login button
156ms
-
When
the API returns 200
206ms
-
features/Settings.feature:8
-
Given
the response payload matches the schema
1.13s
-
Given
the user opens the dashboard
838ms
-
Given
the API returns 200
642ms
-
Given
the user opens the dashboard
1.02s
-
features/Settings.feature:12
-
When
the cart contains 3 items
1.16s
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
And
the cart contains 7 items
326ms
-
Given
they click the submit button
902ms
-
And
the response payload matches the schema
1.02s
-
And
the API returns 200
412ms
-
Given
the user opens the dashboard
293ms
-
features/Settings.feature:16
-
Given
the response payload matches the schema
832ms
-
Then
the cart contains 9 items
416ms
-
Then
the API returns 200
371ms
-
Given
the API returns 200
148ms
-
When
the response payload matches the schema
335ms
-
Then
the API returns 200
277ms
-
features/Checkout.feature:4
-
When
the user opens the dashboard
814ms
-
Given
the user opens the dashboard
41ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
When
the cart contains 1 items
243ms
-
features/Checkout.feature:8
-
Then
the response payload matches the schema
412ms
-
When
the user opens the dashboard
459ms
-
Then
the user opens the dashboard
877ms
-
Given
the cart contains 2 items
355ms
-
When
the user opens the dashboard
795ms
-
Given
the response payload matches the schema
337ms
-
features/Checkout.feature:12
-
Then
the cart contains 2 items
764ms
-
When
the response payload matches the schema
328ms
-
When
the user opens the dashboard
279ms
-
Then
the user opens the dashboard
257ms
-
features/Checkout.feature:16
-
And
they click the buy button
322ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
Then
the cart contains 7 items
482ms
-
When
the user opens the dashboard
908ms
-
When
the response payload matches the schema
718ms
-
And
the cart contains 8 items
305ms
-
features/Checkout.feature:4
-
When
the user opens the dashboard
814ms
-
Given
the user opens the dashboard
41ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
When
the cart contains 1 items
243ms
-
features/Checkout.feature:8
-
Then
the response payload matches the schema
412ms
-
When
the user opens the dashboard
459ms
-
Then
the user opens the dashboard
877ms
-
Given
the cart contains 2 items
355ms
-
When
the user opens the dashboard
795ms
-
Given
the response payload matches the schema
337ms
-
features/Checkout.feature:12
-
Then
the cart contains 2 items
764ms
-
When
the response payload matches the schema
328ms
-
When
the user opens the dashboard
279ms
-
Then
the user opens the dashboard
257ms
-
features/Checkout.feature:16
-
And
they click the buy button
322ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
Then
the cart contains 7 items
482ms
-
When
the user opens the dashboard
908ms
-
When
the response payload matches the schema
718ms
-
And
the cart contains 8 items
305ms
-
features/Checkout.feature:20
-
Then
the user opens the dashboard
356ms
-
And
the cart contains 5 items
916ms
-
Given
the cart contains 5 items
733ms
-
features/login.feature:10
Scenario Outline
Login with valid credentials
-
Given
the username is "alice"
100ms
-
When
the user logs in
200ms
-
Then
the dashboard is shown
100ms
Examples
| username | password |
| alice | secret1 |
| bob | secret2 |
| carol | secret3 |
-
features/login.feature:20
Scenario Outline
Login with invalid credentials
-
Given
the username is "eve"
100ms
-
When
the user logs in
200ms
-
Then
the error is shown
100ms
Examples
| username | password |
| eve | wrong |
| mallory | bad |
-
features/Authentication.feature:4
-
Given
the API returns 200
291ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
Given
the user opens the dashboard
1.17s
-
When
the cart contains 8 items
202ms
-
features/Authentication.feature:8
-
And
the user opens the dashboard
301ms
-
Then
they click the login button
708ms
-
Given
they click the buy button
86ms
-
Then
they click the login button
338ms
-
When
the cart contains 3 items
694ms
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
features/Authentication.feature:12
-
And
the user opens the dashboard
810ms
-
Given
the user opens the dashboard
302ms
-
And
they click the login button
338ms
-
features/Authentication.feature:16
-
Given
the user opens the dashboard
1.16s
-
When
the response payload matches the schema
260ms
-
Given
the user opens the dashboard
1.18s
-
And
the cart contains 7 items
796ms
-
When
they click the login button
1.16s
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
Given
the user opens the dashboard
65ms
-
features/Authentication.feature:20
-
Given
the response payload matches the schema
148ms
-
When
the cart contains 1 items
103ms
-
Then
the API returns 200
290ms
-
features/Authentication.feature:24
-
Given
the user opens the dashboard
647ms
-
Then
the user opens the dashboard
1.06s
-
Then
the cart contains 8 items
846ms
-
Given
the API returns 200
1.12s
-
When
the user opens the dashboard
892ms
-
features/Authentication.feature:28
-
Then
the API returns 200
1.09s
-
Given
the API returns 200
58ms
-
When
they click the buy button
891ms
-
And
the user opens the dashboard
95ms
-
features/Authentication.feature:32
-
And
the API returns 200
441ms
-
Then
the user opens the dashboard
428ms
-
And
they click the buy button
1.04s
-
And
the API returns 200
940ms
-
When
the user opens the dashboard
462ms
-
features/Reporting.feature:4
-
When
the response payload matches the schema
397ms
-
Then
the response payload matches the schema
817ms
-
Then
the API returns 200
218ms
-
Given
the API returns 200
876ms
-
And
the user opens the dashboard
465ms
-
features/Reporting.feature:8
-
When
the user opens the dashboard
1.14s
-
Then
the API returns 200
611ms
-
Then
the cart contains 5 items
157ms
-
features/Reporting.feature:12
-
Then
the response payload matches the schema
944ms
-
And
they click the submit button
616ms
-
Given
the cart contains 9 items
406ms
-
Then
they click the login button
34ms
-
And
the response payload matches the schema
500ms
-
When
the response payload matches the schema
483ms
-
features/Reporting.feature:16
-
When
the response payload matches the schema
65ms
-
Given
the response payload matches the schema
803ms
-
Then
the response payload matches the schema
998ms
-
features/Reporting.feature:20
-
And
the API returns 200
531ms
-
When
the API returns 200
1.07s
-
When
the response payload matches the schema
834ms
-
Given
the API returns 200
653ms
-
Given
the response payload matches the schema
1.09s
-
features/Reporting.feature:24
-
Then
the cart contains 7 items
898ms
-
When
the API returns 200
526ms
-
And
they click the submit button
1.01s
-
Given
the user opens the dashboard
773ms
-
And
the API returns 200
458ms
-
And
the response payload matches the schema
338ms
-
features/Settings.feature:4
-
When
the user opens the dashboard
906ms
-
When
they click the login button
156ms
-
When
the API returns 200
206ms
-
features/Settings.feature:8
-
Given
the response payload matches the schema
1.13s
-
Given
the user opens the dashboard
838ms
-
Given
the API returns 200
642ms
-
Given
the user opens the dashboard
1.02s
-
features/Settings.feature:12
-
When
the cart contains 3 items
1.16s
AssertionError
Traceback (most recent call last):
File "features/steps/example.py", line 42, in step_impl
assert response.status_code == 200
AssertionError: Expected 200 but got 500
-
And
the cart contains 7 items
326ms
-
Given
they click the submit button
902ms
-
And
the response payload matches the schema
1.02s
-
And
the API returns 200
412ms
-
Given
the user opens the dashboard
293ms
-
features/Settings.feature:16
-
Given
the response payload matches the schema
832ms
-
Then
the cart contains 9 items
416ms
-
Then
the API returns 200
371ms
-
Given
the API returns 200
148ms
-
When
the response payload matches the schema
335ms
-
Then
the API returns 200
277ms
| Status |
Feature |
Rule |
Scenario |
Duration |
Tags |
|
Failed
|
Checkout |
Payment required |
Scenario 1: permissions |
1.10s |
@payment
|
|
Undefined
|
Checkout |
Payment required |
Scenario 2: reporting |
3.23s |
@payment
|
|
Passed
|
Checkout |
Shipping options |
Scenario 3: permissions |
1.63s |
@shipping
|
|
Failed
|
Checkout |
Shipping options |
Scenario 4: permissions |
2.73s |
@shipping
|
|
Passed
|
Checkout |
- |
Scenario 5: checkout |
2.00s |
@regression@nightly
|
|
Passed
|
User Login |
- |
Outline example: Login with valid credentials |
400ms |
@login@outline
|
|
Failed
|
User Login |
- |
Outline example: Login with invalid credentials |
400ms |
@login@outline
|
|
Failed
|
Authentication |
- |
Scenario 1: permissions |
1.67s |
@regression@nightly@wip
|
|
Failed
|
Authentication |
- |
Scenario 2: checkout |
2.13s |
@api@regression@smoke
|
|
Passed
|
Authentication |
- |
Scenario 3: checkout |
1.45s |
|
|
Failed
|
Authentication |
- |
Scenario 4: API contract |
4.63s |
@smoke
|
|
Undefined
|
Authentication |
- |
Scenario 5: API contract |
540ms |
@wip
|
|
Passed
|
Authentication |
- |
Scenario 6: checkout |
4.56s |
@ui@nightly
|
|
Passed
|
Authentication |
- |
Scenario 7: checkout |
2.13s |
|
|
Passed
|
Authentication |
- |
Scenario 8: login flow |
3.31s |
@regression@wip@api
|
|
Passed
|
Reporting |
- |
Scenario 1: permissions |
2.77s |
@ui
|
|
Passed
|
Reporting |
- |
Scenario 2: API contract |
1.91s |
@wip@regression@ui
|
|
Undefined
|
Reporting |
- |
Scenario 3: checkout |
2.98s |
|
|
Passed
|
Reporting |
- |
Scenario 4: permissions |
1.87s |
@regression@api@nightly
|
|
Passed
|
Reporting |
- |
Scenario 5: permissions |
4.18s |
|
|
Passed
|
Reporting |
- |
Scenario 6: API contract |
4.00s |
@smoke@api
|
|
Passed
|
Settings |
- |
Scenario 1: permissions |
1.27s |
|
|
Passed
|
Settings |
- |
Scenario 2: API contract |
3.63s |
|
|
Failed
|
Settings |
- |
Scenario 3: API contract |
4.11s |
@nightly@regression@api
|
|
Undefined
|
Settings |
- |
Scenario 4: checkout |
2.38s |
@smoke@nightly
|
Tags
Per-tag scenario counts, pass rate, and accumulated duration.
| Tag |
Scenarios |
Passed |
Failed |
Skip/Undef/Pend |
Pass rate |
Duration |
| @authentication |
8 |
4 |
3 |
1 |
50.0%
|
20.41s |
| @regression |
7 |
4 |
3 |
0 |
57.1%
|
17.00s |
| @nightly |
6 |
3 |
2 |
1 |
50.0%
|
16.59s |
| @checkout |
5 |
2 |
2 |
1 |
40.0%
|
10.70s |
| @api |
5 |
3 |
2 |
0 |
60.0%
|
15.42s |
| @smoke |
4 |
1 |
2 |
1 |
25.0%
|
13.14s |
| @wip |
4 |
2 |
1 |
1 |
50.0%
|
7.42s |
| @settings |
4 |
2 |
1 |
1 |
50.0%
|
11.39s |
| @outline |
2 |
1 |
1 |
0 |
50.0%
|
800ms |
| @login |
2 |
1 |
1 |
0 |
50.0%
|
800ms |
| @payment |
2 |
0 |
1 |
1 |
0.0%
|
4.33s |
| @shipping |
2 |
1 |
1 |
0 |
50.0%
|
4.36s |
| @reporting |
6 |
5 |
0 |
1 |
83.3%
|
17.71s |
| @ui |
3 |
3 |
0 |
0 |
100.0%
|
9.24s |
Status distribution
| Status | Count | Percentage |
|
Passed
|
14 |
56.0% |
|
Failed
|
7 |
28.0% |
|
Undefined
|
4 |
16.0% |
Duration percentiles
| Min | Avg | P50 | P90 | P95 | Max |
| 400ms |
2.44s |
2.13s |
4.15s |
4.48s |
4.63s |
Per-feature summary
| Feature | Status | Scenarios | Passed | Failed | Duration | Avg | Pass rate |
| Authentication |
Failed
|
8 |
4 |
3 |
20.41s |
2.55s |
50.0%
|
| Checkout |
Failed
|
5 |
2 |
2 |
10.70s |
2.14s |
40.0%
|
| Settings |
Failed
|
4 |
2 |
1 |
11.39s |
2.85s |
50.0%
|
| User Login |
Failed
|
2 |
1 |
1 |
800ms |
400ms |
50.0%
|
| Reporting |
Undefined
|
6 |
5 |
0 |
17.71s |
2.95s |
83.3%
|
Error distribution
| Exception type | Count |
AssertionError | 6 |
Runtime
- Python
- 3.12.1
- Behave
- 1.2.6
- Platform
- Demo OS 1.0 (x86_64)
- Host
- demo-host
- User
- demo-user
- CPUs
- 8
- Memory
- 16384 MB
- Working dir
- /demo/project
- Command
behave -f modern -o demo-report.html
- Generated
- 2026-06-29 09:47:48
- Started
- 2026-06-29 09:47:06
- Ended
- 2026-06-29 09:47:48
- Duration
- 1m 1s
Git
- Branch
main- Commit
a1b2c3d- Remote
- https://github.com/demo/project.git
Environment variables
- CI
false
- PATH
/usr/bin:/bin
- HOME
/home/demo
- SHELL
/bin/bash