0

I am writing test script using Cucumber Java + Maven, I want to get browserType from pom.xml, by using this code:

String browserType = System.getProperty("browser");

but it does not working. Below is my code in common function to launch browser which is specified in pom.xml

package com.cucumber.utils;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class commonFunctions {

    static String driverPath="D:\\chromedriver";

    public static WebDriver launchBrowser(){

    WebDriver driver;
//  String browserType = "firefox";
    String browserType = System.getProperty("browser");
    String appURL = "http://www.thetestroom.com/webapp";

    switch (browserType){

    case "chrome":
        driver = initChromeDriver(appURL);
        break;

    case "firefox":
        driver = initFirefoxDriver(appURL);
        break;

    default:
        System.out.println(("browser : " + browserType + " is invalid, Launching Firefox as browser of choice.."));
        driver = initFirefoxDriver(appURL);
    }

    return driver;  
}

private static WebDriver initChromeDriver(String appURL) {
    System.out.println("Launching google chrome with new profile..");
    System.setProperty("webdriver.chrome.driver", driverPath
            + "chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.manage().window().maximize();
    driver.navigate().to(appURL);
    return driver;
}

private static WebDriver initFirefoxDriver(String appURL) {
    System.out.println("Launching Firefox browser..");
    WebDriver driver = new FirefoxDriver();
    driver.manage().window().maximize();
    driver.navigate().to(appURL);
    return driver;
}

public static void closeBrowser(WebDriver driver){
    driver.quit();
}

}  

Below is my project structure:

  • My project
    • scr/test/java
      • package1
        • steps.java
      • package2
        • ContactPage.java
        • LandingPage.java
      • utils
        • commonFunctions.java
    • scr/test/resource + myFeature.feature
    • pom.xml

pom.xml:

<project>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <browser>firefox</browser>
        <appURL>https://www.example.com/webapp</appURL>
        <threads>1</threads>
        <remote>false</remote>
        <seleniumGridURL/>
        <platform/>
        <browserVersion/>
    </properties>
    <dependencies>
        ...
    </dependencies>
</project>
Eugene S
  • 6,709
  • 8
  • 57
  • 91
Nguyen Thu
  • 21
  • 1
  • 6

0 Answers0