Am trying to run a simple test with serenityWithCucumber usinh Maven and Junit but anytime i launch the browser in chrome i get a firefox driver error. below is my POM file, and setup class
<!-- The Basics-->
<!-- known as maven cordinates,
groupId: company's name
artifactId: Project Name
Version: Used within an artifact's repository to separate versions from each other -->
<groupId>com.xyz.Scorebuddy</groupId>
<artifactId>xyz</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<!--PROPERTIES -->
<!-- Maven properties are value placeholder,
Their values are accessible anywhere within a POM by using the notation ${X},
where X is the property. Or they can be used by plugins as default values -->
<properties> <!-- 2.0.70 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<serenity.version>2.0.56</serenity.version> <!-- 2.0.91 -->
<serenity.maven.version>2.0.56</serenity.maven.version> <!-- 2.0.91 -->
<serenity.cucumber.version>1.9.40</serenity.cucumber.version>
<cucumber.version>4.8.0</cucumber.version>
<basedir>Scorebuddy_Automation_Project</basedir>
<mysql.version>8.0.19</mysql.version>
<encoding>UTF-8</encoding>
<tags></tags>
<parallel.tests>4</parallel.tests>
<webdriver.driver>chrome</webdriver.driver>
</properties>
<!-- Environment Settings -->
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>bintray</name>
<url>https://jcenter.bintray.com</url>
</repository>
</repositories>
<!-- -->
<pluginRepositories>
<pluginRepository>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>bintray-plugins</name>
<url>https://jcenter.bintray.com</url>
</pluginRepository>
</pluginRepositories>
<!-- DEPENDENCIES -->
<!-- Most projects depend on others to build and run correctly.,
Maven downloads and links the dependencies on compilation and other goals that require them.
As an added bonus, Maven brings in the dependencies of those dependencies (transitive dependencies),
allowing your list to focus solely on the dependencies your project requires. -->
<!-- Serenity dependency -->
<dependencies>
<dependency> <!-- Core Serenity dependency -->
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
<scope>test</scope>
</dependency>
<dependency> <!-- JUnit Serenity dependency -->
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-junit</artifactId>
<version>${serenity.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-screenplay</artifactId>
<version>${serenity.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-screenplay-webdriver</artifactId>
<version>${serenity.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-cucumber</artifactId>
<version>${serenity.cucumber.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.6.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<!-- SELENIUM DEPENDENCY -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<!--<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.141.59</version>
</dependency> -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.6.1</version>
</dependency>
<!-- DATABASE
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency> -->
<!-- This is use to integrate with JIRA, needed for later
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-jira-requirements-provider</artifactId>
<version>1.1.3-rc.5</version>
</dependency> -->
</dependencies>
<!-- REPORTING Settings -->
<!-- REPORTING: Mirrors the build element for reporting purposes,
contains the elements that correspond specifically for the site generation phase -->
<reporting>
<outputDirectory>${basedir}/target/site</outputDirectory>
<plugins>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.0.1</version>
<reportSets>
<reportSet></reportSet>
</reportSets>
</plugin>
</plugins>
<!-- The BUILD and REPORTING Settings -->
<!-- BUILD: Handles things like declaring your project's directory structure and managing plugins -->
<!-- Surefire is used for executing Junit tests testing which is why we
can’t get it to run feature files directly -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<skip>true</skip>
<!-- This turn off failing build if some test failed - Allow maven execute
all tests. -->
<!-- Basically, the line below::: If we want Serenity to generate reports
even if there's a test failure, add the following to the pom.xml: -->
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
<plugin> <!-- The Maven Failsafe plugin -->
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<includes>
<!-- For parallel test and test integration test run -->
<!-- <include>**/*Test.java</include> <include>**/Test*.java</include>
<include>**/*TestSuite.java</include>
<include>**/When*.java</include> -->
<include>**/features/**/When*.java</include> <!-- Include only tests in the junit directory -->
</includes>
<systemPropertyVariables>
<webdriver.driver>${webdriver.driver}</webdriver.driver>
<!-- Pass the webdriver.driver system property to the tests. -->
<!-- <webdriver.base.url>${webdriver.base.url}</webdriver.base.url> -->
<!-- <webdriver.chrome.driver>${webdriver.chrome.driver}</webdriver.chrome.driver> -->
<surefire.rerunFailingTestsCount>${surefire.rerunFailingTestsCount}</surefire.rerunFailingTestsCount>
<surefire.rerunFailingTestsCount>${surefire.rerunFailingTestsCount}</surefire.rerunFailingTestsCount>
</systemPropertyVariables>
<parallel>classes</parallel>
<threadCount>${parallel.tests}</threadCount>
<forkCount>${parallel.tests}</forkCount>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Used to compile and execute Junit tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- The Serenity Maven Plugin -->
<!-- Bind the aggregate goal plugin to the post-integration-test phase. -->
<!--To have reports aggregated from test results: -->
<plugin>
<groupId>net.serenity-bdd.maven.plugins</groupId>
<artifactId>serenity-maven-plugin</artifactId>
<version>${serenity.maven.version}</version>
<configuration>
<tags>${tags}</tags>
</configuration>
<executions>
<execution> <!-- Generate Reports -->
<id>serenity-reports</id>
<phase>post-integration-test</phase> <!-- Generate the aggregate reports during the post-integration test phase -->
<goals>
<goal>aggregate</goal> <!-- Call the aggregate goal to generate them -->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
public static WebDriver browser;
final static Logger log = LoggerFactory.getLogger(SetUp_PageObject.class);
static boolean verifyFileExist = ReadFile.Verify_Setup_Conf_File_Exist();
public static void launchURL() throws IOException{
/*Verify Config file exist*/
if(verifyFileExist == true){
log.info("Config file exist, continue ....");
log.info(DetectOS());}
else {log.info("Config file DOES NOT exist, pause ....");}
String exepath = "path\\src\\main\\resources\\com\\scorebuddy\\webdrivers\\Chrome\\chromedriver.exe";
System.setProperty("webdriver.chrome.driver", exepath);
ChromeOptions options = new ChromeOptions();
options.setBinary("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");
/*Chrome Arguements*/
options.addArguments("--no-first-run");
options.addArguments("homepage=about:blank");
options.addArguments("--test-type");
options.addArguments("--ignore-certificate-errors");
Map<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("pdfjs.disabled", true);
options.setExperimentalOption("prefs", chromePrefs);
browser = new ChromeDriver(options);
browser.get(ReadFile.parseConf_File("scorebuddy_5.6.11"));
//String url= ReadFile.parseConf_File("scorebuddy_5.6.11");
//log.info("URL is ::: "+url);
//browser = new RemoteWebDriver(new URL("https://www.google.com", options);
browser.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
browser.manage().window().maximize();
}
Error Log
`WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/C:/Users/Ola%20Afere/.m2/repository/com/google/inject/guice/4.2.2/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
986 [main] INFO net.thucydides.core.steps.ConsoleLoggingListener -
997 [main] INFO net.thucydides.core.steps.ConsoleLoggingListener - Test Suite Started: Log User in
1014 [main] WARN cucumber.runtime.formatter.SerenityReporter - Could not parse the Gherkin in feature file src/test/resources/features/score/Employees_score.feature: file ignored
1039 [main] INFO com.xyz.setUp.SetUp_PageObject - what is this?::: nameOfEnv
1060 [main] INFO net.thucydides.core.steps.ConsoleLoggingListener -
TEST STARTED: Login Admin user
-------------------------------------------------------------------(log-user-in;login-admin-user)
1587 [main] INFO com.xyz.setUp.SetUp_PageObject - Config file exist, continue ....
1588 [main] INFO com.xyz.setUp.SetUp_PageObject - This driver is running on WINDOWS System...@Current TIME and DATE: 16:08:46 19/02/2020
Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 34362
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Feb 19, 2020 4:08:48 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
[1582128531.145][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128531.246][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128531.347][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128531.570][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128531.682][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128531.784][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128531.886][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128531.987][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128532.089][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128532.191][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128532.292][SEVERE]: Timed out receiving message from renderer: 0.100
[1582128532.394][SEVERE]: Timed out receiving message from renderer: 0.100
what is this: 5611@mailinator.com
Feb 19, 2020 4:08:53 PM org.openqa.selenium.remote.DesiredCapabilities firefox
INFO: Using new FirefoxOptions() is preferred to DesiredCapabilities.firefox()
Feb 19, 2020 4:08:53 PM org.openqa.selenium.remote.DesiredCapabilities firefox
INFO: Using new FirefoxOptions() is preferred to DesiredCapabilities.firefox()
9702 [main] INFO net.serenitybdd.core.webdriver.driverproviders.ProvideNewDriver - Instantiating driver
9703 [main] INFO net.serenitybdd.core.webdriver.driverproviders.ProvideNewDriver - Driver capabilities: Capabilities {acceptInsecureCerts: true, browserName: firefox, firefox_profile: org.openqa.selenium.firefox..., headless: false, marionette: true, moz:firefoxOptions: {}, platform: ANY, version: }
9759 [main] ERROR net.thucydides.core.steps.ConsoleLoggingListener -
9850 [main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - TEST FAILED AT STEP Enter login credentials
9850 [main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - Could not instantiate new WebDriver instance of type class org.openqa.selenium.firefox.FirefoxDriver (Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10
[31mFailed scenarios:[0m
[31msrc/test/resources/features/Dashboard.feature:6 [0m# Login Admin user
net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate class org.openqa.selenium.firefox.FirefoxDriver
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.thucydides.core.webdriver.WebDriverFacade.getCurrentImplicitTimeout(WebDriverFacade.java:248)
at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.getTimeOutInSeconds(SmartAjaxElementLocator.java:178)
at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.ajaxFindElement(SmartAjaxElementLocator.java:163)
at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.findElement(SmartAjaxElementLocator.java:124)
at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
at com.sun.proxy.$Proxy31.sendKeys(Unknown Source)
at com.xyz.pages.login.LoginPage.enterUserName(LoginPage.java:32)
at com.xyz.steps.commons.LoginSteps.enterLoginCredentials(LoginSteps.java:22)
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec.CGLIB$enterLoginCredentials$0()
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec$$FastClassByCGLIB$$8f22e583.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at net.thucydides.core.steps.StepInterceptor.invokeMethod(StepInterceptor.java:478)
at net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:463)
at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:438)
at net.thucydides.core.steps.StepInterceptor.runOrSkipMethod(StepInterceptor.java:179)
at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:166)
at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:72)
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec.enterLoginCredentials()
at com.xyz.stepDefinition.commons.login_StepDefinition.user_enters_login_details_and_click_login_button(login_StepDefinition.java:28)
at ✽.user enters login details and click login button(src/test/resources/features/Dashboard.feature:8)
Caused by: net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate new WebDriver instance of type class org.openqa.selenium.firefox.FirefoxDriver (Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'DESKTOP-80UR6M4', ip: '192.168.0.177', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.5'
Driver info: driver.version: ProvideNewDriver). See below for more details.
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:158)
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:141)
at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:132)
at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:102)
at net.thucydides.core.webdriver.WebDriverFacade.getCurrentImplicitTimeout(WebDriverFacade.java:248)
at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.getTimeOutInSeconds(SmartAjaxElementLocator.java:178)
at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.ajaxFindElement(SmartAjaxElementLocator.java:163)
at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.findElement(SmartAjaxElementLocator.java:124)
at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
at com.sun.proxy.$Proxy31.sendKeys(Unknown Source)
at com.xyz.pages.login.LoginPage.enterUserName(LoginPage.java:32)
at com.xyz.steps.commons.LoginSteps.enterLoginCredentials(LoginSteps.java:22)
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec.CGLIB$enterLoginCredentials$0()
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec$$FastClassByCGLIB$$8f22e583.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at net.thucydides.core.steps.StepInterceptor.invokeMethod(StepInterceptor.java:478)
at net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:463)
at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:438)
at net.thucydides.core.steps.StepInterceptor.runOrSkipMethod(StepInterceptor.java:179)
at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:166)
at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:72)
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec.enterLoginCredentials()
at com.xyz.stepDefinition.commons.login_StepDefinition.user_enters_login_details_and_click_login_button(login_StepDefinition.java:28)
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 cucumber.runtime.Utils$1.call(Utils.java:31)
at cucumber.runtime.Timeout.timeout(Timeout.java:16)
at cucumber.runtime.Utils.invoke(Utils.java:25)
at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:37)
at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:40)
at cucumber.api.TestStep.executeStep(TestStep.java:102)
at cucumber.api.TestStep.run(TestStep.java:83)
at cucumber.api.TestCase.run(TestCase.java:58)
at cucumber.runner.Runner.runPickle(Runner.java:80)
at cucumber.runtime.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:140)
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:68)
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:23)
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:73)
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:118)
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:56)
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 cucumber.api.junit.Cucumber$1.evaluate(Cucumber.java:127)
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 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
Caused by: org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'DESKTOP-80UR6M4', ip: '192.168.0.177', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.5'
Driver info: driver.version: ProvideNewDriver
at org.openqa.selenium.firefox.FirefoxBinary.(FirefoxBinary.java:100)
at java.base/java.util.Optional.orElseGet(Optional.java:369)
at org.openqa.selenium.firefox.FirefoxOptions.getBinary(FirefoxOptions.java:216)
at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:187)
at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:147)
at net.serenitybdd.core.webdriver.driverproviders.FirefoxDriverProvider.lambda$newMarionetteDriver$0(FirefoxDriverProvider.java:68)
at net.serenitybdd.core.webdriver.driverproviders.ProvideNewDriver.withConfiguration(ProvideNewDriver.java:40)
at net.serenitybdd.core.webdriver.driverproviders.FirefoxDriverProvider.newMarionetteDriver(FirefoxDriverProvider.java:64)
at net.serenitybdd.core.webdriver.driverproviders.FirefoxDriverProvider.newInstance(FirefoxDriverProvider.java:50)
at net.thucydides.core.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:169)
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:150)
... 62 more
Am trying to run a simple test with serenityWithCucumber usinh Maven and Junit but anytime i launch the browser in chrome i get a firefox driver error. below is my POM file, and setup class
`
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
`
SetUp Class: ` package com.xyz.setUp;
import java.io.IOException; import java.net.URL; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.scorebuddy.bdd.framework.util.ReadFile;
public class SetUp_PageObject {
Error Log `WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/C:/Users/Ola%20Afere/.m2/repository/com/google/inject/guice/4.2.2/guice-4.2.2.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 986 [main] INFO net.thucydides.core.steps.ConsoleLoggingListener -
| (----
| |__ | |_) | | |__ | \| | | |
---| |----\ \/ / \ \ | __| | / | __| | .
| | | | | _ _/.----) | | | | |\ ----.| | | |\ | | | | | | |
|/ ||| | `.____||__||_| \| || || |__|
News and tutorials at http://www.serenity-bdd.info
Documentation at https://wakaleo.gitbooks.io/the-serenity-book/content/
Join the Serenity Community on Rocket Chat at https://serenity-bdd.rocket.chat
Serenity BDD Support and Training at http://serenity-bdd.info/#/trainingandsupport
Learn Serenity BDD online at http://serenity-dojo.com
997 [main] INFO net.thucydides.core.steps.ConsoleLoggingListener - Test Suite Started: Log User in 1014 [main] WARN cucumber.runtime.formatter.SerenityReporter - Could not parse the Gherkin in feature file src/test/resources/features/score/Employees_score.feature: file ignored 1039 [main] INFO com.xyz.setUp.SetUp_PageObject - what is this?::: nameOfEnv 1060 [main] INFO net.thucydides.core.steps.ConsoleLoggingListener -
| | __/ __| | / | |/ \ | _ | _| \ | | | | \ \ | | _ \ | | / \ | |) || | | | | | | | | | | | ) || | ) || |/ | < | | | || || | || ||/ || |____/ |// __| _|| |_|____/
TEST STARTED: Login Admin user -------------------------------------------------------------------(log-user-in;login-admin-user) 1587 [main] INFO com.xyz.setUp.SetUp_PageObject - Config file exist, continue .... 1588 [main] INFO com.xyz.setUp.SetUp_PageObject - This driver is running on WINDOWS System...@Current TIME and DATE: 16:08:46 19/02/2020 Starting ChromeDriver 80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}) on port 34362 Only local connections are allowed. Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code. Feb 19, 2020 4:08:48 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: W3C [1582128531.145][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128531.246][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128531.347][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128531.570][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128531.682][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128531.784][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128531.886][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128531.987][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128532.089][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128532.191][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128532.292][SEVERE]: Timed out receiving message from renderer: 0.100 [1582128532.394][SEVERE]: Timed out receiving message from renderer: 0.100 what is this: 5611@mailinator.com Feb 19, 2020 4:08:53 PM org.openqa.selenium.remote.DesiredCapabilities firefox INFO: Using
new FirefoxOptions()
is preferred toDesiredCapabilities.firefox()
Feb 19, 2020 4:08:53 PM org.openqa.selenium.remote.DesiredCapabilities firefox INFO: Usingnew FirefoxOptions()
is preferred toDesiredCapabilities.firefox()
9702 [main] INFO net.serenitybdd.core.webdriver.driverproviders.ProvideNewDriver - Instantiating driver 9703 [main] INFO net.serenitybdd.core.webdriver.driverproviders.ProvideNewDriver - Driver capabilities: Capabilities {acceptInsecureCerts: true, browserName: firefox, firefox_profile: org.openqa.selenium.firefox..., headless: false, marionette: true, moz:firefoxOptions: {}, platform: ANY, version: } 9759 [main] ERROR net.thucydides.core.steps.ConsoleLoggingListener -/ / | _| __/ __| | | / \ | | | | _| \ ()____| | | | | | \ \ | | | | / \ | || | | | | | | | |__| | | | | | ) || | | / __ \ | || || || || | () | | || ||/ || ||// __|||___/ \\
TEST FAILED WITH ERROR: Login Admin user
9850 [main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - TEST FAILED AT STEP Enter login credentials 9850 [main] ERROR net.thucydides.core.steps.ConsoleLoggingListener - Could not instantiate new WebDriver instance of type class org.openqa.selenium.firefox.FirefoxDriver (Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10
[31mFailed scenarios:[0m [31msrc/test/resources/features/Dashboard.feature:6 [0m# Login Admin user
1 Scenarios ([31m1 failed[0m) 3 Steps ([31m1 failed[0m, [36m1 skipped[0m, [32m1 passed[0m) 0m9.022s
net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate class org.openqa.selenium.firefox.FirefoxDriver 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.thucydides.core.webdriver.WebDriverFacade.getCurrentImplicitTimeout(WebDriverFacade.java:248) at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.getTimeOutInSeconds(SmartAjaxElementLocator.java:178) at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.ajaxFindElement(SmartAjaxElementLocator.java:163) at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.findElement(SmartAjaxElementLocator.java:124) at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38) at com.sun.proxy.$Proxy31.sendKeys(Unknown Source) at com.xyz.pages.login.LoginPage.enterUserName(LoginPage.java:32) at com.xyz.steps.commons.LoginSteps.enterLoginCredentials(LoginSteps.java:22) at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec.CGLIB$enterLoginCredentials$0()
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec$$FastClassByCGLIB$$8f22e583.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at net.thucydides.core.steps.StepInterceptor.invokeMethod(StepInterceptor.java:478)
at net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:463)
at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:438)
at net.thucydides.core.steps.StepInterceptor.runOrSkipMethod(StepInterceptor.java:179)
at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:166)
at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:72)
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec.enterLoginCredentials()
at com.xyz.stepDefinition.commons.login_StepDefinition.user_enters_login_details_and_click_login_button(login_StepDefinition.java:28)
at ✽.user enters login details and click login button(src/test/resources/features/Dashboard.feature:8)
Caused by: net.thucydides.core.webdriver.DriverConfigurationError: Could not instantiate new WebDriver instance of type class org.openqa.selenium.firefox.FirefoxDriver (Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'DESKTOP-80UR6M4', ip: '192.168.0.177', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.5'
Driver info: driver.version: ProvideNewDriver). See below for more details.
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:158)
at net.thucydides.core.webdriver.WebDriverFacade.newDriverInstance(WebDriverFacade.java:141)
at net.thucydides.core.webdriver.WebDriverFacade.newProxyDriver(WebDriverFacade.java:132)
at net.thucydides.core.webdriver.WebDriverFacade.getProxiedDriver(WebDriverFacade.java:102)
at net.thucydides.core.webdriver.WebDriverFacade.getCurrentImplicitTimeout(WebDriverFacade.java:248)
at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.getTimeOutInSeconds(SmartAjaxElementLocator.java:178)
at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.ajaxFindElement(SmartAjaxElementLocator.java:163)
at net.thucydides.core.annotations.locators.SmartAjaxElementLocator.findElement(SmartAjaxElementLocator.java:124)
at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
at com.sun.proxy.$Proxy31.sendKeys(Unknown Source)
at com.xyz.pages.login.LoginPage.enterUserName(LoginPage.java:32)
at com.xyz.steps.commons.LoginSteps.enterLoginCredentials(LoginSteps.java:22)
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec.CGLIB$enterLoginCredentials$0()
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec$$FastClassByCGLIB$$8f22e583.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at net.thucydides.core.steps.StepInterceptor.invokeMethod(StepInterceptor.java:478)
at net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:463)
at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:438)
at net.thucydides.core.steps.StepInterceptor.runOrSkipMethod(StepInterceptor.java:179)
at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:166)
at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:72)
at com.xyz.steps.commons.LoginSteps$$EnhancerByCGLIB$$15364dec.enterLoginCredentials()
at com.xyz.stepDefinition.commons.login_StepDefinition.user_enters_login_details_and_click_login_button(login_StepDefinition.java:28)
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 cucumber.runtime.Utils$1.call(Utils.java:31)
at cucumber.runtime.Timeout.timeout(Timeout.java:16)
at cucumber.runtime.Utils.invoke(Utils.java:25)
at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:37)
at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:40)
at cucumber.api.TestStep.executeStep(TestStep.java:102)
at cucumber.api.TestStep.run(TestStep.java:83)
at cucumber.api.TestCase.run(TestCase.java:58)
at cucumber.runner.Runner.runPickle(Runner.java:80)
at cucumber.runtime.junit.PickleRunners$NoStepDescriptions.run(PickleRunners.java:140)
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:68)
at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:23)
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:73)
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:118)
at cucumber.api.junit.Cucumber.runChild(Cucumber.java:56)
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 cucumber.api.junit.Cucumber$1.evaluate(Cucumber.java:127)
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 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:542)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:770)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:464)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)
Caused by: org.openqa.selenium.WebDriverException: Cannot find firefox binary in PATH. Make sure firefox is installed. OS appears to be: WIN10
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'DESKTOP-80UR6M4', ip: '192.168.0.177', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.5'
Driver info: driver.version: ProvideNewDriver
at org.openqa.selenium.firefox.FirefoxBinary.(FirefoxBinary.java:100)
at java.base/java.util.Optional.orElseGet(Optional.java:369)
at org.openqa.selenium.firefox.FirefoxOptions.getBinary(FirefoxOptions.java:216)
at org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:187)
at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:147)
at net.serenitybdd.core.webdriver.driverproviders.FirefoxDriverProvider.lambda$newMarionetteDriver$0(FirefoxDriverProvider.java:68)
at net.serenitybdd.core.webdriver.driverproviders.ProvideNewDriver.withConfiguration(ProvideNewDriver.java:40)
at net.serenitybdd.core.webdriver.driverproviders.FirefoxDriverProvider.newMarionetteDriver(FirefoxDriverProvider.java:64)
at net.serenitybdd.core.webdriver.driverproviders.FirefoxDriverProvider.newInstance(FirefoxDriverProvider.java:50)
at net.thucydides.core.webdriver.WebDriverFactory.createWebDriver(WebDriverFactory.java:169)
at net.thucydides.core.webdriver.WebDriverFactory.newWebdriverInstance(WebDriverFactory.java:150)
... 62 more
`