package utils.driver; import io.github.bonigarcia.wdm.WebDriverManager; 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.openqa.selenium.ie.InternetExplorerDriver; class DriverFactory { // Get a new WebDriver Instance. // There are various implementations for this depending on browser. The required browser can be set as an environment variable. // Refer http://getgauge.io/documentation/user/current/managing_environments/README.html static WebDriver getDriver() { String browser = System.getenv("BROWSER"); if (browser == null) { WebDriverManager.chromedriver().setup(); return new ChromeDriver(); } switch (browser) { case "IE": WebDriverManager.iedriver().setup(); return new InternetExplorerDriver(); case "EDGE": WebDriverManager.edgedriver().setup(); return new EdgeDriver(); case "FIREFOX": WebDriverManager.firefoxdriver().setup(); return new FirefoxDriver(); default: WebDriverManager.chromedriver().setup(); return new ChromeDriver(); } } }