krone
krone

Reputation: 1

"WebDriverManagerException: There was an error creating WebDriver object for Firefox" Selenium 4.0 + WebdriverManager 5.3.0

Trying to run some tests on a Maven based project with Cucumber, Selenium and Java 8. Launching o chrome works fine, but not in Firefox.

Throwing the following error when executing mvn clean install

io.github.bonigarcia.wdm.config.WebDriverManagerException: There was an error creating WebDriver object for Firefox
    at io.github.bonigarcia.wdm.WebDriverManager.instantiateDriver(WebDriverManager.java:1774)
    at io.github.bonigarcia.wdm.WebDriverManager.create(WebDriverManager.java:424)
    at Hooks.WebDriverSingleton.Init(WebDriverSingleton.java:41)
    at Hooks.Hooks.browserSetup(Hooks.java:16)
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
        at io.github.bonigarcia.wdm.webdriver.WebDriverCreator.createLocalWebDriver(WebDriverCreator.java:64)
        at io.github.bonigarcia.wdm.WebDriverManager.createLocalWebDriver(WebDriverManager.java:1948)
        at io.github.bonigarcia.wdm.WebDriverManager.instantiateDriver(WebDriverManager.java:1763)
        at io.github.bonigarcia.wdm.WebDriverManager.create(WebDriverManager.java:424)
        at Hooks.WebDriverSingleton.Init(WebDriverSingleton.java:41)
        at Hooks.Hooks.browserSetup(Hooks.java:16)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at io.cucumber.java.Invoker.doInvoke(Invoker.java:66)
        at io.cucumber.java.Invoker.invokeStatic(Invoker.java:80)
        at io.cucumber.java.AbstractGlueDefinition.invokeMethod(AbstractGlueDefinition.java:45)
        at io.cucumber.java.JavaHookDefinition.execute(JavaHookDefinition.java:64)
        at io.cucumber.core.runner.CoreHookDefinition.execute(CoreHookDefinition.java:46)
        at io.cucumber.core.runner.HookDefinitionMatch.runStep(HookDefinitionMatch.java:21)
        at io.cucumber.core.runner.ExecutionMode$1.execute(ExecutionMode.java:10)
        at io.cucumber.core.runner.TestStep.executeStep(TestStep.java:85)
        at io.cucumber.core.runner.TestStep.run(TestStep.java:57)
        at io.cucumber.core.runner.TestCase.run(TestCase.java:78)
        at io.cucumber.core.runner.Runner.runPickle(Runner.java:75)
        at io.cucumber.junit.PickleRunners$NoStepDescriptions.lambda$run$0(PickleRunners.java:151)
        at io.cucumber.core.runtime.CucumberExecutionContext.lambda$runTestCase$5(CucumberExecutionContext.java:129)
        at io.cucumber.core.runtime.RethrowingThrowableCollector.executeAndThrow(RethrowingThrowableCollector.java:23)
        at io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:129)
        at io.cucumber.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:148)
        at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:144)
        at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:28)
        at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
        at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at io.cucumber.junit.FeatureRunner.run(FeatureRunner.java:137)
        at io.cucumber.junit.Cucumber.runChild(Cucumber.java:196)
        at io.cucumber.junit.Cucumber.runChild(Cucumber.java:89)
        at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
        at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
        at io.cucumber.junit.Cucumber$RunBeforeAllHooks.evaluate(Cucumber.java:266)
        at io.cucumber.junit.Cucumber$RunAfterAllHooks.evaluate(Cucumber.java:281)
        at io.cucumber.junit.Cucumber$StartTestRun.evaluate(Cucumber.java:233)
        at io.cucumber.junit.Cucumber$FinishTestRun.evaluate(Cucumber.java:248)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

Root cause seem to be the following:

java.lang.NullPointerException
        at Hooks.WebDriverSingleton.browserConfiguration(WebDriverSingleton.java:107)
        at Hooks.WebDriverSingleton.Init(WebDriverSingleton.java:49)
        at Hooks.Hooks.browserSetup(Hooks.java:16)

Where browser configuration is:

private static void browserConfiguration() {
    driver.manage().deleteAllCookies();
    driver.manage().window().maximize();
}

This is where initialization of the driver is happening:

public static WebDriver Init(){
        //browserOption = "CHROME";
        browserOption = "FIREFOX";
        if (driver == null) {
            if(browserOption.equals("CHROME")){
//                WebDriverManager.chromedriver().setup();
//                driver = new ChromeDriver();
                driver = WebDriverManager.chromedriver().create();
            }
            if(browserOption.equals("FIREFOX")){
                driver = WebDriverManager.firefoxdriver().create();
            }
            else{
                System.out.println("BROWSER NOT SUPPORTED");
            }
        }
        browserConfiguration();
        pageInitialization();
        return driver;
    }

And here is my pom.xml file

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.example</groupId>
    <artifactId>Testing-Demo1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <username></username>
        <password></password>
        <browser></browser>
    </properties>
    <build>
        <testResources>
            <testResource>
                <directory>src/test/resources</directory>
                <filtering>true</filtering>
            </testResource>
        </testResources>
    </build>
    <dependencies>
        <dependency>
            <groupId>io.github.bonigarcia</groupId>
            <artifactId>webdrivermanager</artifactId>
            <version>5.3.0</version>
            <scope>compile</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java8 -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>7.8.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.5.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>7.8.1</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
    </dependencies>
</project>

As mentioned, working perfectly fine with chromedriver but not with firefox driver. Have seen similar issues that were related with dependencies, but have been looking into it, and I can't find the cause.

Also tried with the following aproach, but getting a different error

WebDriverManager.firefoxdriver().setup();
driver = new FirefoxDriver();

but getting a different error

org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:576)
        at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:245)
        at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:161)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:137)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:125)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:106)
        at Hooks.WebDriverSingleton.Init(WebDriverSingleton.java:43)
        at Hooks.Hooks.browserSetup(Hooks.java:16)
Caused by: org.openqa.selenium.WebDriverException: Driver server process died prematurely.
Build info: version: '4.1.2', revision: '9a5a329c5a'
System info: host: 'MRK-C02DP0Z6MD6V', ip: '192.168.1.103', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.6', java.version: '11.0.13'
Driver info: driver.version: FirefoxDriver
        at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:226)
        at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:98)
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:558)
        at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:245)
        at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:161)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:137)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:125)
        at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:106)
        at Hooks.WebDriverSingleton.Init(WebDriverSingleton.java:43)
        at Hooks.Hooks.browserSetup(Hooks.java:16)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at io.cucumber.java.Invoker.doInvoke(Invoker.java:66)
        at io.cucumber.java.Invoker.invokeStatic(Invoker.java:80)
        at io.cucumber.java.AbstractGlueDefinition.invokeMethod(AbstractGlueDefinition.java:45)
        at io.cucumber.java.JavaHookDefinition.execute(JavaHookDefinition.java:64)
        at io.cucumber.core.runner.CoreHookDefinition.execute(CoreHookDefinition.java:46)
        at io.cucumber.core.runner.HookDefinitionMatch.runStep(HookDefinitionMatch.java:21)
        at io.cucumber.core.runner.ExecutionMode$1.execute(ExecutionMode.java:10)
        at io.cucumber.core.runner.TestStep.executeStep(TestStep.java:85)
        at io.cucumber.core.runner.TestStep.run(TestStep.java:57)
        at io.cucumber.core.runner.TestCase.run(TestCase.java:78)
        at io.cucumber.core.runner.Runner.runPickle(Runner.java:75)
        at io.cucumber.junit.PickleRunners$NoStepDescriptions.lambda$run$0(PickleRunners.java:151)
        at io.cucumber.core.runtime.CucumberExecutionContext.lambda$runTestCase$5(CucumberExecutionContext.java:129)
        at io.cucumber.core.runtime.RethrowingThrowableCollector.executeAndThrow(RethrowingThrowableCollector.java:23)
        at io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:129)
        at io.cucumber.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:148)
        at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:144)
        at io.cucumber.junit.FeatureRunner.runChild(FeatureRunner.java:28)
        at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
        at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at io.cucumber.junit.FeatureRunner.run(FeatureRunner.java:137)
        at io.cucumber.junit.Cucumber.runChild(Cucumber.java:196)
        at io.cucumber.junit.Cucumber.runChild(Cucumber.java:89)
        at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
        at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
        at io.cucumber.junit.Cucumber$RunBeforeAllHooks.evaluate(Cucumber.java:266)
        at io.cucumber.junit.Cucumber$RunAfterAllHooks.evaluate(Cucumber.java:281)
        at io.cucumber.junit.Cucumber$StartTestRun.evaluate(Cucumber.java:233)
        at io.cucumber.junit.Cucumber$FinishTestRun.evaluate(Cucumber.java:248)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)

Upvotes: 0

Views: 1962

Answers (0)

Related Questions