You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@wakeleo
Issue:
DriverConfigurationError with SerenityParameterizedRunner when print current driver details for DataDriven test
How driver initialization is different for SerenityRunner and SerenityParameterizedRunner ?
Stacktrace:
Could not create test data beans
*net.thucydides.core.csv.FailedToInitializeTestData: Could not create test data beans
at net.thucydides.core.steps.stepdata.CSVTestDataSource.createNewInstanceOf(CSVTestDataSource.java:246)
at net.thucydides.core.steps.stepdata.CSVTestDataSource.newInstanceFrom(CSVTestDataSource.java:206)
at net.thucydides.core.steps.stepdata.CSVTestDataSource.getDataAsInstancesOf(CSVTestDataSource.java:181)
at net.serenitybdd.junit.runners.DataDrivenAnnotations.getDataAsInstancesOf(DataDrivenAnnotations.java:184)
at net.serenitybdd.junit.runners.SerenityParameterizedRunner.buildTestRunnersFromADataSourceUsing(SerenityParameterizedRunner.java:149)
at net.serenitybdd.junit.runners.SerenityParameterizedRunner.(SerenityParameterizedRunner.java:71)
at net.serenitybdd.junit.runners.SerenityParameterizedRunner.(SerenityParameterizedRunner.java:205)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:78)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.lang.Thread.run(Thread.java:745)
Caused by: net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate class org.openqa.selenium.chrome.ChromeDriver
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:144)
at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:132)
at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:102)
at net.serenitybdd.core.webdriver.RemoteDriver.of(RemoteDriver.java:13)
at com.edwardjones.testautomation.utilities.DriverUtils.getBrowserVersion(DriverUtils.java:40)
at com.edwardjones.testautomation.utilities.DriverUtils.returnDriverDetails(DriverUtils.java:125)
at com.edwardjones.testautomation.utilities.DriverUtils.printDriverDetails(DriverUtils.java:135)
at com.edwardjones.automation.execution.BaseTest.(BaseTest.java:29)
at com.edwardjones.test.testcases.RecurringACHTest.(RecurringACHTest.java:21)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at net.thucydides.core.csv.InstanceBuilder.newInstanceOf(InstanceBuilder.java:33)
at net.thucydides.core.steps.stepdata.CSVTestDataSource.createNewInstanceOf(CSVTestDataSource.java:243)
... 47 more
Caused by: net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate new WebDriver instance of type class org.openqa.selenium.chrome.ChromeDriver (No BaseStepListener has been registered). See below for more details.
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:159)
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:141)
... 62 more
Caused by: java.lang.NullPointerException: No BaseStepListener has been registered
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:897)
at net.thucydides.core.steps.StepEventBus.getBaseStepListener(StepEventBus.java:139)
at net.serenitybdd.core.webdriver.driverproviders.DriverCapabilities.remoteCapabilities(DriverCapabilities.java:123)
at net.serenitybdd.core.webdriver.driverproviders.DriverCapabilities.forDriver(DriverCapabilities.java:44)
at net.serenitybdd.core.webdriver.driverproviders.DefaultRemoteDriver.buildRemoteCapabilities(DefaultRemoteDriver.java:32)
at net.serenitybdd.core.webdriver.driverproviders.DefaultRemoteDriver.buildWithOptions(DefaultRemoteDriver.java:23)
at net.serenitybdd.core.webdriver.driverproviders.RemoteDriverProvider.newInstance(RemoteDriverProvider.java:54)
at net.thucydides.core.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:170)
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:151)
... 63 more
** ** Get driver details implementation : ** **
public class DriverUtils {
public static String getBrowserName() {
return RemoteDriver.of(Serenity.getDriver()).getCapabilities().getBrowserName().toLowerCase();
}
public static String getBrowserVersion() {
return RemoteDriver.of(Serenity.getDriver()).getCapabilities().getVersion();
}
etc
** ** NOTE1: ** **
No issues for @RunWith(SerenityRunner.class)
** ** NOTE2: ** **
No issues when reading driver details before the class and not from Basetest constructor but that solution conflicts with my Cucumber tests:
public class BaseTest {
@Managed
protected WebDriver driver;
public BaseTest() {
}
private static Class<? extends BaseTest> testClass;
/**
* print driver details once for each test class
*/
@Before
public void printDriverDetailsBeforeTestClass() {
if (this.getClass().equals(testClass)) {
return;
}
DriverUtils.printDriverDetails();
testClass = this.getClass();
}
}
The text was updated successfully, but these errors were encountered:
@wakeleo
Issue:
DriverConfigurationError with SerenityParameterizedRunner when print current driver details for DataDriven test
How driver initialization is different for SerenityRunner and SerenityParameterizedRunner ?
Stacktrace:
Could not create test data beans
at net.thucydides.core.steps.stepdata.CSVTestDataSource.createNewInstanceOf(CSVTestDataSource.java:246)
at net.thucydides.core.steps.stepdata.CSVTestDataSource.newInstanceFrom(CSVTestDataSource.java:206)
at net.thucydides.core.steps.stepdata.CSVTestDataSource.getDataAsInstancesOf(CSVTestDataSource.java:181)
at net.serenitybdd.junit.runners.DataDrivenAnnotations.getDataAsInstancesOf(DataDrivenAnnotations.java:184)
at net.serenitybdd.junit.runners.SerenityParameterizedRunner.buildTestRunnersFromADataSourceUsing(SerenityParameterizedRunner.java:149)
at net.serenitybdd.junit.runners.SerenityParameterizedRunner.(SerenityParameterizedRunner.java:71)
at net.serenitybdd.junit.runners.SerenityParameterizedRunner.(SerenityParameterizedRunner.java:205)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:78)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:414)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
at java.lang.Thread.run(Thread.java:745)
Caused by: net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate class org.openqa.selenium.chrome.ChromeDriver
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:144)
at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:132)
at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:102)
at net.serenitybdd.core.webdriver.RemoteDriver.of(RemoteDriver.java:13)
at com.edwardjones.testautomation.utilities.DriverUtils.getBrowserVersion(DriverUtils.java:40)
at com.edwardjones.testautomation.utilities.DriverUtils.returnDriverDetails(DriverUtils.java:125)
at com.edwardjones.testautomation.utilities.DriverUtils.printDriverDetails(DriverUtils.java:135)
at com.edwardjones.automation.execution.BaseTest.(BaseTest.java:29)
at com.edwardjones.test.testcases.RecurringACHTest.(RecurringACHTest.java:21)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at java.lang.Class.newInstance(Class.java:438)
at net.thucydides.core.csv.InstanceBuilder.newInstanceOf(InstanceBuilder.java:33)
at net.thucydides.core.steps.stepdata.CSVTestDataSource.createNewInstanceOf(CSVTestDataSource.java:243)
... 47 more
Caused by: net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate new WebDriver instance of type class org.openqa.selenium.chrome.ChromeDriver (No BaseStepListener has been registered). See below for more details.
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:159)
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:141)
... 62 more
Caused by: java.lang.NullPointerException: No BaseStepListener has been registered
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:897)
at net.thucydides.core.steps.StepEventBus.getBaseStepListener(StepEventBus.java:139)
at net.serenitybdd.core.webdriver.driverproviders.DriverCapabilities.remoteCapabilities(DriverCapabilities.java:123)
at net.serenitybdd.core.webdriver.driverproviders.DriverCapabilities.forDriver(DriverCapabilities.java:44)
at net.serenitybdd.core.webdriver.driverproviders.DefaultRemoteDriver.buildRemoteCapabilities(DefaultRemoteDriver.java:32)
at net.serenitybdd.core.webdriver.driverproviders.DefaultRemoteDriver.buildWithOptions(DefaultRemoteDriver.java:23)
at net.serenitybdd.core.webdriver.driverproviders.RemoteDriverProvider.newInstance(RemoteDriverProvider.java:54)
at net.thucydides.core.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:170)
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:151)
... 63 more
I want to print current driver details like that:
[INFO ] 2022-04-20 10:22:57.809 11 BaseTest - ** ** hub address: http://selenium.someaddress.com:5555/wd/hub ** **
[INFO ] 2022-04-20 10:22:57.810 11 BaseTest - ** ** connected to grid on: http://selenium. someaddress.com:5555/grid/api/testsession?session=0ef1655b6fb3d2605900a344ed025ab4 ** **
[INFO ] 2022-04-20 10:22:57.987 11 BaseTest - ** ** testSourceName : MANUAL ** **
[INFO ] 2022-04-20 10:22:57.988 11 BaseTest - ** ** browserVersion : 96.0.4664.110 ** **
[INFO ] 2022-04-20 10:22:57.988 11 BaseTest - ** ** browserName : chrome ** **
[INFO ] 2022-04-20 10:22:57.988 11 BaseTest - ** ** sessionID : 0ef1655b6fb3d2605900a344ed025ab4 ** **
[INFO ] 2022-04-20 10:22:57.989 11 BaseTest - ** ** nodeID : http://A6-6A-D5-24-EE:5500 ** **
[INFO ] 2022-04-20 10:22:57.989 11 BaseTest - ** ** platform : WINDOWS ** **
** ** BaseTest where I print current driver details: ** **
public class BaseTest {
** ** Data Driven Test case ** **
@RunWith(SerenityParameterizedRunner.class)
@UseTestDataFrom("$DATADIR/regressionData.csv")
public class CurrentDriverTest extends BaseTest {
public void setrelationshipId (String relationshipId) {
this.relationshipId = relationshipId;
}
public void setcountryCode (String countryCode) {
this.countryCode = countryCode;
}
}
** ** Get driver details implementation : ** **
public class DriverUtils {
etc
** ** NOTE1: ** **
No issues for @RunWith(SerenityRunner.class)
** ** NOTE2: ** **
No issues when reading driver details before the class and not from Basetest constructor but that solution conflicts with my Cucumber tests:
public class BaseTest {
}
The text was updated successfully, but these errors were encountered: