serenity-bdd / serenity-cucumber

Cucumber integration for the Serenity BDD Reporting library
Other
78 stars 74 forks source link

Chromedriver #221

Closed byke4all closed 4 years ago

byke4all commented 4 years ago

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">

4.0.0
<!-- 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>

`

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 {

    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 -


 _______. _______ .______       _______ .__   __.  __  .___________.____    ____ 
/       ||   ____||   _  \     |   ____||  \ |  | |  | |           |\   \  /   / 

| (----| |__ | |_) | | |__ | \| | | |---| |----\ \/ / \ \ | __| | / | __| | . | | | | | _ _/
.----) | | | | |\ ----.| | | |\ | | | | | | |
|/ ||| | `.____||__||_| \| || || |__|

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 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 -


/ / | _| __/ __| | | / \ | | | | _| \ ()____| | | | | | \ \ | | | | / \ | || | | | | | | | |__| | | | | | ) || | | / __ \ | || || || || | () | | || ||/ || ||// __|||___/ \\

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

Failed scenarios: src/test/resources/features/Dashboard.feature:6 # Login Admin user

1 Scenarios (1 failed) 3 Steps (1 failed, 1 skipped, 1 passed) 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

`

wakaleo commented 4 years ago

That’s not really how Serenity works - take a look at https://serenity-bdd.github.io/theserenitybook/latest/web-testing-in-serenity.html

byke4all commented 4 years ago

yeah you are right. Thank you. its working now. appreciate the link.