Skip to main content

Command Palette

Search for a command to run...

Selenium 4.6.0: The Selenium Manager

Updated
2 min read
Selenium 4.6.0: The Selenium Manager
B

Senior Test Lead || DevOps Aspirant || Python Beginner

I have started learning automation using Selenium WebDriver by setting the path of the browser driver executable file using System.setProperty().

Because it is a tedious task, moved to a third-party library called WebDriverManager. It has really helped reduced the effort of setting up drivers for browsers in Selenium WebDriver automation.

Now the Selenium Community, has itself come up with new in-built feature called Selenium Manager in Selenium 4.6.0 version. Though it is beta version currently, the community going to release stable version for sure.

The Selenium community says, "Selenium Manager is a new tool that helps to get a working environment to run Selenium out of the box. Beta 1 of Selenium Manager will configure the browser drivers for Chrome, Firefox, and Edge if they are not present on the PATH"

We have to make sure that the browsers we want execute selenium tests, have installed already. Selenium Manager takes care of respective browser drivers.

Adding this maven dependency in pom.xml file.

<dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.6.0</version>
 </dependency>

Lets launch all three browsers using Selenium Manager.

package PageTests;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;

public class SeleniumManagerTests {

    @Test
    public void testLaunchingChromeBrowser_001() throws InterruptedException {
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.selenium.dev/downloads/");
        driver.manage().window().maximize();
        Thread.sleep(2000);
        System.out.println(driver.getTitle());
        driver.quit();
    }

    @Test
    public void testLaunchingFirefoxBrowser_002() throws InterruptedException {
        WebDriver driver = new FirefoxDriver();
        driver.get("https://www.selenium.dev/downloads/");
        driver.manage().window().maximize();
        Thread.sleep(2000);
        System.out.println(driver.getCurrentUrl());
        driver.quit();
    }

    @Test
    public void testLaunchingEdgeBrowser_003() throws InterruptedException {
        WebDriver driver = new EdgeDriver();
        driver.get("https://www.selenium.dev/downloads/");
        driver.manage().window().maximize();
        Thread.sleep(2000);
        System.out.println(driver.getPageSource());
        driver.quit();
    }
}

From the above code snippet, its just one-liner to setup the browser to be launched in our all new Selenium Manager.

Thanks to our Selenium Community, for all this efforts. Thank you for reading.

More from this blog

QA Automation Enthusiast

20 posts

I am a software testing engineer with 9+ years of experience. I am here to share my knowledge, learning and expertise with the software testing community.