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

serenity version 3.6.12 fails with net.thucydides.core.webdriver.DriverConfigurationError Randomley #3064

Open
GianniGiglio opened this issue Feb 23, 2023 · 12 comments

Comments

@GianniGiglio
Copy link
Contributor

GianniGiglio commented Feb 23, 2023

Setup:
serenity with cucumber using junit 5 parallelization.
Tests are run using remote webdriver.

Issue:
Randomly the following failure occurs.
net.thucydides.core.webdriver.DriverConfigurationError

It happens quite often 1 out of 5 builds however it is random and am unable to reproduce this so that I can debug this.
Might still be related to the junit5 parallelization that was recently introduced fyi @cliviu
Screenshot 2023-02-23 at 09 27 26

Stacktrace:

at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:164)
at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:152)
at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:122)
at net.thucydides.core.webdriver.WebDriverFacade.get(WebDriverFacade.java:192)
at com.collibra.aggregator.smoke.steps.serenity.DgcSteps.reUseSessionCookieForLogin(DgcSteps.java:111)

@matthew-jacobi
Copy link

I am also seeing this occurring running Serenity on SauceLabs, although it is only present when running tests on Android simulator. This seems to be happening about 1/5 instances for us as well. net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate class net.thucydides.core.webdriver.ProvidedDriver net.thucydides.core.webdriver.DriverConfigurationError io.cucumber.java.AbstractGlueDefinition.invokeMethod(AbstractGlueDefinition.java:47) io.cucumber.java.JavaStepDefinition.execute(JavaStepDefinition.java:29) io.cucumber.core.runner.CoreStepDefinition.execute(CoreStepDefinition.java:66) io.cucumber.core.runner.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:63) io.cucumber.core.runner.TestStep.executeStep(TestStep.java:86) io.cucumber.core.runner.TestStep.run(TestStep.java:57) io.cucumber.core.runner.PickleStepTestStep.run(PickleStepTestStep.java:51) io.cucumber.core.runner.TestCase.run(TestCase.java:95) io.cucumber.core.runner.Runner.runPickle(Runner.java:75) io.cucumber.core.runtime.CucumberExecutionContext.lambda$runTestCase$3(CucumberExecutionContext.java:151) io.cucumber.core.runtime.RethrowingThrowableCollector.executeAndThrow(RethrowingThrowableCollector.java:23) io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:151) io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:144) io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:28) io.cucumber.junit.FeatureRunner.run(FeatureRunner.java:137) io.cucumber.junit.CucumberSerenityRunner.runChild(CucumberSerenityRunner.java:258) io.cucumber.junit.CucumberSerenityRunner.runChild(CucumberSerenityRunner.java:58)

@wakaleo
Copy link
Member

wakaleo commented Mar 2, 2023

Have a look for a root cause in the stack trace, but it could just be the driver not coping with the load

@mbarua1
Copy link

mbarua1 commented Mar 8, 2023

Hello I am having this issue while running test through Jenkins. In Local I am not having driver. configuration error. What will be the solution for this

@mbarua1
Copy link

mbarua1 commented Mar 8, 2023

image

@mbarua1
Copy link

mbarua1 commented Mar 8, 2023

@wakaleo - could you please let me know what can be solution for this issue

@globalworming
Copy link
Collaborator

@mbarua1 do you have more information? your configuration, error stacktraces etc..

@mbarua1
Copy link

mbarua1 commented Mar 8, 2023

@globalworming yeah, I am giving some log here

[INFO] Test Automation executes using local WEBDRIVER with Browser => CHROME [INFO] Test Automation start time: 03/06/2023 18:36:37 [INFO] Test Automation executes using local WEBDRIVER with Browser => CHROME java.lang.NoClassDefFoundError: org/junit/runners/ParentRunner at io.cucumber.core.plugin.SerenityReporterParallel.getCucumberRuntimeTags(SerenityReporterParallel.java:610) at io.cucumber.core.plugin.SerenityReporterParallel.testRunHasFilterTags(SerenityReporterParallel.java:605) at io.cucumber.core.plugin.SerenityReporterParallel.examplesAreNotExcludedByTags(SerenityReporterParallel.java:591) at io.cucumber.core.plugin.SerenityReporterParallel.handleExamples(SerenityReporterParallel.java:535) at io.cucumber.core.plugin.SerenityReporterParallel.handleTestCaseStarted(SerenityReporterParallel.java:274) at io.cucumber.core.eventbus.AbstractEventPublisher.send(AbstractEventPublisher.java:51) at io.cucumber.core.eventbus.AbstractEventBus.send(AbstractEventBus.java:12) at io.cucumber.core.runtime.SynchronizedEventBus.send(SynchronizedEventBus.java:47) at io.cucumber.core.runtime.ThreadLocalRunnerSupplier$LocalEventBus.send(ThreadLocalRunnerSupplier.java:62) at io.cucumber.core.runner.TestCase.emitTestCaseStarted(TestCase.java:206) at io.cucumber.core.runner.TestCase.run(TestCase.java:72) at io.cucumber.core.runner.Runner.runPickle(Runner.java:75) at io.cucumber.junit.platform.engine.CucumberEngineExecutionContext.lambda$runTestCase$4(CucumberEngineExecutionContext.java:112) at io.cucumber.core.runtime.CucumberExecutionContext.lambda$runTestCase$5(CucumberExecutionContext.java:130) at io.cucumber.core.runtime.RethrowingThrowableCollector.executeAndThrow(RethrowingThrowableCollector.java:23) at io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:130) at io.cucumber.junit.platform.engine.CucumberEngineExecutionContext.runTestCase(CucumberEngineExecutionContext.java:109) at io.cucumber.junit.platform.engine.NodeDescriptor$PickleDescriptor.execute(NodeDescriptor.java:164) at io.cucumber.junit.platform.engine.NodeDescriptor$PickleDescriptor.execute(NodeDescriptor.java:90) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202) at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:436) at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:670) at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:179) at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:153) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202) at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:146) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202) at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:436) at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:670) at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:179) at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:153) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:202) at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: java.lang.ClassNotFoundException: org.junit.runners.ParentRunner

@wakaleo
Copy link
Member

wakaleo commented Mar 8, 2023

"java.lang.NoClassDefFoundError: org/junit/runners/ParentRunner" would indicate a dependency conflict.

@mbarua1
Copy link

mbarua1 commented Mar 8, 2023

There is no error or conflict indication in Pom file

@mbarua1
Copy link

mbarua1 commented Mar 8, 2023

@GianniGiglio
Copy link
Contributor Author

The logs added by @mbarua1 are not related to the original issue of the ticket. I'll add some logs as requested for the driverConfigurationError

@jjmoncada31
Copy link

Hi all
Do you have any solution for this? I am getting the same error after random executions.

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

No branches or pull requests

6 participants