Skip to content

🐞: ITestListener of TestNG caused the Allure does not display test's steps at all, but custom ones only. #1150

@farious2009

Description

@farious2009

What happened?

Hi Team,

I am not 100% sure whether it is a bug, but a behavior is rather weird anyway.

Class TestListener implements ITestListener {

    @Override
    public void onTestSuccess(ITestResult result) {
        if (method.isTestMethod() && method.getTestResult().isSuccess()) {
            throw new AssertionError("With ITestListener ");
        }
 }
 
 }

this test will be working strangely returning almost nothing within it:


    @Test
    public void dummyTest() {
        some test steps ();
        some test steps ();
        some test steps ();
        some test steps ();
    }

This is an example of such the report without body for some reason (except manually created step "Test..."):

Image

But when I implement the same method, this time using another TestNG listener as TestLifecycleListener, then all works as expected and visible with the body:

Class TestListener implements IInvokedMethodListener {

    public void afterInvocation(IInvokedMethod method, ITestResult testResult) {
            if (method.isTestMethod() && method.getTestResult().isSuccess()) {
                throw new AssertionError("With IInvokedMethodListener ");
            }
        }
 }

Image

Is it a bug or intended to be like this for some reason?

We do use for whole modules within a project:
Selenide + Maven + TestNG

<allure.version>2.27.0</allure.version>
<allure-maven.version>2.12.0</allure-maven.version>
<plugin>
                <groupId>io.qameta.allure</groupId>
                <artifactId>allure-maven</artifactId>
                <version>${allure-maven.version}</version>
                <configuration>
                    <reportVersion>${allure.version}</reportVersion>
                </configuration>
            </plugin>

    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-selenide</artifactId>
        <version>${allure.version}</version>
    </dependency>

    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-testng</artifactId>
        <version>${allure.version}</version>
    </dependency>

    <dependency>
        <groupId>io.qameta.allure</groupId>
        <artifactId>allure-plugin-api</artifactId>
        <version>${allure.version}</version>
    </dependency>

### What Allure Integration are you using?

allure-testng

### What version of Allure Integration you are using?

2.27

### What version of Allure Report you are using?

2.27

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions