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

FAILED TO CREATE NEW WEBDRIVER_DRIVER INSTANCE #25

Open
lukacmilos opened this issue Nov 23, 2017 · 14 comments
Open

FAILED TO CREATE NEW WEBDRIVER_DRIVER INSTANCE #25

lukacmilos opened this issue Nov 23, 2017 · 14 comments

Comments

@lukacmilos
Copy link

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)

@michelmeeuwissen
Copy link

Same issue here,

Found any solution?

@arnulfojr
Copy link

Same issue here....

@mohitmun
Copy link

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

@TestMagic0989
Copy link

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

@TestMagic0989
Copy link

Hey its resolved

@mghiraw
Copy link

mghiraw commented Jul 5, 2018

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

@isabellogz
Copy link

Hi, I have same issue. How was fixed?

@mghiraw
Copy link

mghiraw commented Jul 26, 2018 via email

@lukacmilos
Copy link
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.

@mghiraw
Copy link

mghiraw commented Jul 26, 2018 via email

@Amarsree12
Copy link

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?

@ellinaKulagina
Copy link

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

@xescuder
Copy link

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

@vayaszsolt
Copy link

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
Labels
None yet
Projects
None yet
Development

No branches or pull requests