allure-python icon indicating copy to clipboard operation
allure-python copied to clipboard

[Robot Framework Browser/Playwright] - The usage of parentSuite and suite metadata add the test 4 times in the report

Open harmin-parra opened this issue 1 year ago • 1 comments

I'm submitting a ...

  • [X] bug report
  • [ ] feature request
  • [ ] support request => Please do not submit support request here, see note at the top of this template.

What is the current behavior?

Each test is added 4 times in the report when using these tags :

allure.label.parentSuite:xxxxx
allure.label.suite:xxxxx

image

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

The feature file :

*** Settings ***
Documentation     Testing the fill-in and submit of a web form.

Resource          ../keywords/webform.robot
Library     AllureLibrary

*** Test Cases ***
test_fill_in_form
    [TAGS]
    ...  allure.label.epic:Web interface (Robot Framework)
    ...  allure.label.parentSuite:Web interface (Robot Framework)
    ...  allure.label.suite:Web Form
    ...  allure.label.story:Web Form
    ...  allure.label.package:web_robotframework.webform_test
    ...  allure.label.testMethod:test_fill_in_form

The tree of my python code source is as follows :

web_robotframework_playwright
|- keywords
  |- webform.robot
|- tests
   |- webform_page.robot

image

What is the expected behavior?

The test is added once The suite view displays the metadata set in the test tags (parentSuite, suite and subsuite)

What is the motivation / use case for changing the behavior?

A test should by added to the report once instead of being added 4 times.

Please tell us about your environment:

Other information

harmin-parra avatar Jun 03 '24 20:06 harmin-parra

Same behavior with 'epic', 'feature' tags with pytest.

import allure

@allure.epic("Epic 1") @allure.feature("Feature 1") class TestTest:

@allure.epic("Epic 2")
@allure.feature("Feature 2")
def test_test_with_tags(self):
    pass

def test_test_no_tags(self):
    pass

"test_test_with_tags" test have tags from class and from test

Geneticerror avatar Jan 13 '25 08:01 Geneticerror