This example shows how to open a url in multiple browsers for browser based testing using Selenium and WebdriverManager.
package seleniumProjects;
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.safari.SafariDriver;
import io.github.bonigarcia.wdm.WebDriverManager;
import io.github.bonigarcia.wdm.config.DriverManagerType;
public class StartBrowser{
static WebDriver driver = null;
static String[] appList= {"chrome","firefox","edgedriver", "safari"};
public static void main(String[] args) throws Exception {
for(int i=0;i<appList.length;i++) {
browserStart(appList[i],"http://google.com");
Thread.sleep(5000);
browserClose();
}
}
public static void browserStart(String appName, String appUrl)
throws InstantiationException, IllegalAccessException {
if (appName.equals("chrome")) { //Run Chrome browser
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
} else if (appName.equals("firefox")) { //Run in Firefox broweser
WebDriverManager.firefoxdriver().setup();
driver = new FirefoxDriver();
} else if (appName.equals("edgedriver")) { // Run in Edge browser
WebDriverManager.edgedriver().setup();
driver = new EdgeDriver();
} else if (appName.equals("safari")) { //Run in Safari browser
//For Safari browser, you need enable
//'Allow Remote Automation' under develop menu
DriverManagerType safari = DriverManagerType.SAFARI;
WebDriverManager.getInstance(safari).setup();
driver = new SafariDriver();
}
driver.get(appUrl);
driver.manage().window().maximize();
}
public static void browserClose() {
driver.close();
}
}