Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'Test outcome unavailable' in Serenity 3.6.12 + cucumber7 + junit5 #3071

Closed
p-nikolaichik opened this issue Mar 1, 2023 · 8 comments
Closed

Comments

@p-nikolaichik
Copy link

StepEventBus.getParallelEventBus().getBaseStepListener().getCurrentTestOutcome() is empty in net.serenitybdd.core.webdriver.driverproviders.RemoteDriverProvider

image

@wakaleo could you confirm it was fixed or related to ticket #3037

@wakaleo
Copy link
Member

wakaleo commented Mar 11, 2023

This is a known issue related to the way parallel execution works - we are looking into seeing if a solution is possible.

@wakaleo
Copy link
Member

wakaleo commented Mar 29, 2023

Fixed in 3.6.22

@wakaleo wakaleo closed this as completed Mar 29, 2023
@p-nikolaichik
Copy link
Author

p-nikolaichik commented Apr 10, 2023

Hi, @wakaleo , could you check please
it is reproduced for serenity.version - 3.6.22
net.thucydides.core.steps.StepEventBus#getBaseStepListener - CurrentListener is null

    <serenity.version>3.6.22</serenity.version>
    <junit.platform.version>1.9.2</junit.platform.version>
    <cucumber.junit.platform.engine.version>7.11.2</cucumber.junit.platform.engine.version>
    <junit.jupiter.migration.support>5.0.0-M4</junit.jupiter.migration.support>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-cucumber</artifactId>
        <version>${serenity.version}</version>
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-junit5</artifactId>
        <version>${serenity.version}</version>
    </dependency>
    <dependency>
        <groupId>net.serenity-bdd</groupId>
        <artifactId>serenity-rest-assured</artifactId>
        <version>${serenity.version}</version>
    </dependency>
    <dependency>
        <groupId>io.cucumber</groupId>
        <artifactId>cucumber-junit-platform-engine</artifactId>
        <version>${cucumber.junit.platform.engine.version}</version>
    </dependency>
    <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-suite</artifactId>
        <version>${junit.platform.version}</version>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-migration-support</artifactId>
        <version>${junit.jupiter.migration.support}</version>
    </dependency>

cucumber.execution.parallel.enabled=true
cucumber.execution.parallel.config.strategy=fixed
cucumber.execution.parallel.config.fixed.parallelism=60
cucumber.execution.parallel.config.fixed.max-pool-size=60
cucumber.filter.tags=not @Skip and not @Manual

@wakaleo
Copy link
Member

wakaleo commented Apr 10, 2023

That sounds like a different issue. Have you defined the cucumber.plugin property?

cucumber.execution.parallel.enabled=true
cucumber.execution.parallel.config.strategy=fixed
cucumber.execution.parallel.config.fixed.parallelism=4
cucumber.execution.parallel.config.fixed.max-pool-size=4
cucumber.plugin=io.cucumber.core.plugin.SerenityReporterParallel

@p-nikolaichik
Copy link
Author

p-nikolaichik commented Apr 10, 2023

oh, yes, thanks @wakaleo , I lost this line: cucumber.plugin=io.cucumber.core.plugin.SerenityReporterParallel
nevertheless it seems like first issue is not fixed:
image

@wakaleo
Copy link
Member

wakaleo commented Apr 11, 2023

That's the nature of the parallel execution - the TestOutcome object isn't available until the end of the test.

@p-nikolaichik
Copy link
Author

image

I thought interface BeforeAWebdriverScenario should have this scenario info, otherwise how can I get scenario info to see it in runtime (in selenoid UI)
@wakaleo

@wakaleo
Copy link
Member

wakaleo commented May 3, 2023

image

I thought interface BeforeAWebdriverScenario should have this scenario info, otherwise how can I get scenario info to see it in runtime (in selenoid UI) @wakaleo

In the context of parallel execution, we do not have this information before the scenario starts, only at the end. There isn't a lot we can do about this unfortunately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants