We can write start method in base class like below
@Before
public WebDriver start() {
String webdriver = System.getProperty("browser", "chrome");
switch(webdriver) {
case "firefox":
System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir") + "/geckodriver");
driver = new FirefoxDriver();
driver.get("http://live.guru99.com/");
driver.manage().window().maximize();
waitDriver = new WebDriverWait(driver, TIMEOUT);
driver.manage().timeouts().implicitlyWait(TIMEOUT, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(PAGE_LOAD_TIMEOUT, TimeUnit.SECONDS);
return driver;
case "chrome":
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir") + "/chromedriver");
driver = new ChromeDriver();
driver.get("http://live.guru99.com/");
driver.manage().window().maximize();
waitDriver = new WebDriverWait(driver, TIMEOUT);
driver.manage().timeouts().implicitlyWait(TIMEOUT, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(PAGE_LOAD_TIMEOUT, TimeUnit.SECONDS);
return driver;
default:
throw new RuntimeException("Unsupported webdriver: " + webdriver);
}
}
Then we can run like mvn test -Dbrowser=chrome or mvn test -Dbrowser=firefox
Default browser we set chrome
mvn test