Unable to launch Firefox 81.0 with webdrivermanager - Testng - Java - Maven

860 Views Asked by At

I am passing mvn command with -Dbrowser=firefox never launches firefox. Below is my code to initialize browser and it works for Chrome but does not launch Firefox nor Edge. I have added webdrivermanager latest maven dependency 4.2.2 to my pom.xml. I have Firefox 81.0 and Edge 85.0 versions, respectively.

  public WebDriver Init_Browser(String browser) { 

    strBrowser = prop.getProperty("browser");

    if (strBrowser.equalsIgnoreCase("chrome")) {
        System.setProperty(ChromeDriverService.CHROME_DRIVER_SILENT_OUTPUT_PROPERTY, "true"); // This statement will
                                                                                                // remove rendering
                                                                                                // statements while
                                                                                                // page loading
        WebDriverManager.chromedriver().setup();
        tldriver.set(new ChromeDriver());
    } else if (strBrowser.equalsIgnoreCase("ff") || (strBrowser.equalsIgnoreCase("firefox"))) {         
        WebDriverManager.firefoxdriver().setup();
        tldriver.set(new FirefoxDriver());
    } else if (strBrowser.equalsIgnoreCase("Edge")) {
        WebDriverManager.edgedriver().setup();
        tldriver.set(new EdgeDriver());                                                                                                     
    } else {
        System.out.println("Browser not defined");          
    }
    getDriver().manage().deleteAllCookies();
    getDriver().manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
    return getDriver();
}

Please help in fixing this issue. Thank you.

1

There are 1 best solutions below

0
On

I was loading default browser value from properties file.

strBrowser = prop.getProperty("browser");

Instead I replaced this statement to,

String strBrowser = System.getProperties().get(browser).toString();

So the browser value coming from parameters sits in get(browser) and it will validate according to the browser requirement. Problem solved. I was able to launch firefox, edge and chrome without any issues.