Skip to content

FAILED TO CREATE NEW WEBDRIVER_DRIVER INSTANCE #25

Open

Description

@lukacmilos

Hi,
I set my project according to this repository. It worked OK, but now some random tests are failed with following failure. Issue tends to appear randomly, without any detailed stacktrace. I think that implementation is correct, because majority of tests works, it means that RemoteWebDriver is created correctly and connected to browserstack. I'm using serenity with cucumber and tests run on BS. Please have you any idea?

11:54:16.369 [Test worker] ERROR n.t.core.webdriver.WebDriverFacade - FAILED TO CREATE NEW WEBDRIVER_DRIVER INSTANCE class net.thucydides.core.webdriver.ProvidedDriver: Could not instantiate new WebDriver instance of type class net.thucydides.core.webdriver.ProvidedDriver (null
net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate new WebDriver instance of type class net.thucydides.core.webdriver.ProvidedDriver (null
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:135)
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:147)
at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:138)
at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:108)
at net.thucydides.core.webdriver.WebDriverFacade.getDriverClass(WebDriverFacade.java:101)
at net.thucydides.core.webdriver.WebDriverType.isMobile(WebDriverType.java:9)
at net.thucydides.core.webdriver.ElementLocatorFactorySelector.platformFor(ElementLocatorFactorySelector.java:48)
at net.thucydides.core.webdriver.ElementLocatorFactorySelector.getLocatorFor(ElementLocatorFactorySelector.java:41)
at net.thucydides.core.webdriver.ElementLocatorFactorySelector.getLocatorFor(ElementLocatorFactorySelector.java:31)
at net.thucydides.core.annotations.locators.SmartElementProxyCreator.proxyElements(SmartElementProxyCreator.java:25)
at net.thucydides.core.webdriver.DefaultPageObjectInitialiser.apply(DefaultPageObjectInitialiser.java:21)
at net.serenitybdd.core.pages.PageObject.setDriver(PageObject.java:150)
at net.serenitybdd.core.pages.PageObject.setDriver(PageObject.java:154)
at net.serenitybdd.core.pages.PageObject.(PageObject.java:139)
at net.serenitybdd.screenplay.abilities.BrowseTheWeb.(BrowseTheWeb.java:34)
at net.serenitybdd.screenplay.abilities.BrowseTheWeb.with(BrowseTheWeb.java:50)
at com.ui.common.GlobalBeforeAndAfter.uiUserCanBrowseWeb(GlobalBeforeAndAfter.java:30)
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:498)
at cucumber.runtime.Utils$1.call(Utils.java:40)
at cucumber.runtime.Timeout.timeout(Timeout.java:16)
at cucumber.runtime.Utils.invoke(Utils.java:34)
at cucumber.runtime.java.JavaHookDefinition.execute(JavaHookDefinition.java:60)
at cucumber.runtime.Runtime.runHookIfTagsMatch(Runtime.java:224)
at cucumber.runtime.Runtime.runHooks(Runtime.java:212)
at cucumber.runtime.Runtime.runBeforeHooks(Runtime.java:202)
at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:40)
at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:102)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at cucumber.runtime.junit.ExamplesRunner.run(ExamplesRunner.java:59)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at cucumber.runtime.junit.ScenarioOutlineRunner.run(ScenarioOutlineRunner.java:53)
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:95)
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:38)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at cucumber.api.junit.Cucumber.run(Cucumber.java:100)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.runTestClass(JUnitTestClassExecuter.java:114)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecuter.execute(JUnitTestClassExecuter.java:57)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassProcessor.processTestClass(JUnitTestClassProcessor.java:66)
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:498)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy3.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:109)
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:498)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:146)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:128)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
at net.thucydides.core.webdriver.redimension.RedimensionConfiguration.supportsScreenResizing(RedimensionConfiguration.java:18)
at net.thucydides.core.webdriver.redimension.RedimensionStrategy.strategyFor(RedimensionStrategy.java:15)
at net.thucydides.core.webdriver.redimension.RedimensionBrowser.withDriver(RedimensionBrowser.java:31)
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:127)

Activity

  1. michelmeeuwissen commented on Apr 10, 2018

    @michelmeeuwissen

    Same issue here,

    Found any solution?

  2. arnulfojr commented on Apr 26, 2018

    @arnulfojr

    Same issue here....

  3. mohitmun commented on Apr 27, 2018

    @mohitmun

    @lukacmilos, @michelmeeuwissen, @arnulfojr can you let me on which os and os version are you using? Also mention browserstack-local-java version

  4. TestMagic0989 commented on Jun 16, 2018

    @TestMagic0989

    I am facing same issue.Did anyone figured out how to resolve this issue. I am using below serenity.property file,pom,run class:
    serenity.project.name = iTV WebApp Test Report
    serenity.use.unique.browser = false
    webdriver.timeouts.implicitlywait = 60000
    serenity.take.screenshots=AFTER_EACH_STEP
    webdriver.driver = provided
    webdriver.provided.type = mydriver
    webdriver.provided.mydriver = driverutil.DriverFactory
    POM:


    4.0.0
    com.I.B.test
    iTV-web-integration-test
    1.0-SNAPSHOT
    jar

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <webdrivermanager.version>2.2.1</webdrivermanager.version>
    <serenity.version>1.0.47</serenity.version>
    <serenity.maven.version>1.0.47</serenity.maven.version>
    <serenity.cucumber.version>1.0.15</serenity.cucumber.version>

    <dependencies>
        <dependency>
            <groupId>net.serenity-bdd</groupId>
            <artifactId>core</artifactId>
            <version>${serenity.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-exec</artifactId>
            <version>1.3</version>
        </dependency>
        <dependency>
            <groupId>net.serenity-bdd</groupId>
            <artifactId>serenity-cucumber</artifactId>
            <version>${serenity.cucumber.version}</version>
        </dependency>
        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>${webdrivermanager.version}</version>
        </dependency>
        <!-- Logging with SLF4J & LogBack -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.1.2</version>
        </dependency>
        <!-- // Logging with SLF4J & LogBack -->
    </dependencies>
    <build>
        <defaultGoal>validate</defaultGoal>
        <resources>
            <resource>
                <directory>src/test/resources</directory>
                <filtering>true</filtering>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.5</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <encoding>${project.build.sourceEncoding}</encoding>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                    <testSource>${java.version}</testSource>
                    <testTarget>${java.version}</testTarget>
                    <showDeprecation>true</showDeprecation>
                    <showWarnings>true</showWarnings>
                    <fork>true</fork>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>net.serenity-bdd.maven.plugins</groupId>
                <artifactId>serenity-maven-plugin</artifactId>
                <version>${serenity.maven.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>net.serenity-bdd</groupId>
                        <artifactId>core</artifactId>
                        <version>${serenity.version}</version>
                    </dependency>
                </dependencies>
                <executions>
                    <execution>
                        <id>serenity-reports</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>aggregate</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.18</version>
                <configuration>
                    <includes>
                        <!-- this will allow us run tests from package during test running -->
                        <include>com/I/B/runTests/*.java</include>
                    </includes>
                    <!-- <systemProperties>
                        you can pass as parameter webdriver type via Jenkins or TeamCity
                        <webdriver.driver>${webdriver.driver}</webdriver.driver>
                    </systemProperties> -->
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    

    Run class:
    package com.itv.web.runTests;

    import cucumber.api.CucumberOptions;
    import net.serenitybdd.cucumber.CucumberWithSerenity;
    import net.thucydides.core.annotations.Managed;

    import org.junit.runner.RunWith;
    import org.openqa.selenium.WebDriver;

    @RunWith(CucumberWithSerenity.class)
    @CucumberOptions(features = { "src/test/resources/features" },
    glue = { "com.i.web.b.stepDefinitions" })
    public class Run {

    }

    Error below:
    20:20:00.113 [main] ERROR n.t.core.webdriver.WebDriverFacade - FAILED TO CREATE NEW WEBDRIVER_DRIVER INSTANCE class net.thucydides.core.webdriver.ProvidedDriver: Could not instantiate class net.thucydides.core.webdriver.ProvidedDriver
    net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate class net.thucydides.core.webdriver.ProvidedDriver
    at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:199) ~[core-1.0.47.jar:1.0.47]
    at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:137) [core-1.0.47.jar:1.0.47]
    at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:128) [core-1.0.47.jar:1.0.47]
    at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:100) [core-1.0.47.jar:1.0.47]
    at net.thucydides.core.webdriver.WebDriverFacade.openIgnoringHtmlUnitScriptErrors(WebDriverFacade.java:173) [core-1.0.47.jar:1.0.47]
    at net.thucydides.core.webdriver.WebDriverFacade.get(WebDriverFacade.java:168) [core-1.0.47.jar:1.0.47]
    at net.serenitybdd.core.pages.PageObject.openPageAtUrl(PageObject.java:821) [core-1.0.47.jar:1.0.47]
    at net.serenitybdd.core.pages.PageObject.open(PageObject.java:731) [core-1.0.47.jar:1.0.47]
    at net.serenitybdd.core.pages.PageObject.open(PageObject.java:719) [core-1.0.47.jar:1.0.47]
    at com.itv.web.steps.TestLogin.openWebApp(TestLogin.java:20) [test-classes/:na

    Please help

  5. TestMagic0989 commented on Jun 17, 2018

    @TestMagic0989

    Hey its resolved

  6. mghiraw commented on Jul 5, 2018

    @mghiraw

    Hi PratapSingh09
    How did you resolved this?
    We are also facing this.

  7. isabellogz commented on Jul 26, 2018

    @isabellogz

    Hi, I have same issue. How was fixed?

  8. mghiraw commented on Jul 26, 2018

    @mghiraw
  9. lukacmilos commented on Jul 26, 2018

    @lukacmilos
    Author

    My problem was, that I had 2 jenkins jobs, each for one browser and I had more than one connection to BS, then I added localIdentifier(randomString) and my problem was solved.

  10. mghiraw commented on Jul 26, 2018

    @mghiraw
  11. Amarsree12 commented on Apr 3, 2019

    @Amarsree12

    I have downloaded the the GIT repo from Browserstack.But when i try to run getting net.thucydides.core.webdriver.UnsupportedDriverException: Could not instantiate class net.thucydides.core.webdriver.ProvidedDriver error

    Can anyone help on this?

  12. ellinaKulagina commented on Jun 14, 2019

    @ellinaKulagina

    I'm getting exactly the same error:
    Caused by: java.lang.NullPointerException: null
    15:45:41 at net.thucydides.core.webdriver.redimension.RedimensionConfiguration.supportsScreenResizing(RedimensionConfiguration.java:18)
    15:45:41 at net.thucydides.core.webdriver.redimension.RedimensionStrategy.strategyFor(RedimensionStrategy.java:15)
    15:45:41 at net.thucydides.core.webdriver.redimension.RedimensionBrowser.withDriver(RedimensionBrowser.java:31)
    15:45:41 at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:128)
    15:45:41 at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:153)
    15:45:41 at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:144)
    15:45:41 at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:114)
    15:45:41 at net.thucydides.core.webdriver.WebDriverFacade.manage(WebDriverFacade.java:417)

    It happens intermittently when we run on our Jenkins agent (Linux), binary version is 7.4 browserstacklocal-linux-64bit

  13. xescuder commented on Jun 19, 2019

    @xescuder

    I've the same problem executing the git example of browserstack with serenity

  14. vayaszsolt commented on Feb 4, 2020

    @vayaszsolt

    Any news about this issue? I receive the same issue randomly. There are jenkins build where the RemoteWebDriver to browserstack can be created but also there are fails with the same message as in this issue is specified. I will welcome any suggestion how can I fix this issue, I spent a lot of time to find a fix for it.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions