Collections:
Load WebDriver for Different Browsers in Java
How to Load WebDriver for Different Browsers Dynamically in Java?
✍: FYIcenter.com
You can write a Java program with Selenium Client Java API to
Load WebDriver for Different Browsers Dynamically.
1. Make sure you have browser drivers installed locally for different browsers:
C:\fyicenter> dir \fyicenter\selenium <DIR> chromedriver <DIR> edgedriver <DIR> geckodriver
2. Enter the following program, WebDriverLoader.java, that offers static method for other Java programs to load WebDriver by browser name:
C:\fyicenter> type WebDriverLoader.java
// WebDriverLoader.java
// Copyright (c) FYIcenter.com
import org.openqa.selenium.*;
import org.openqa.selenium.chrome.*;
import org.openqa.selenium.edge.*;
public class WebDriverLoader {
public static void main(String[] args) {
WebDriver driver = load(args[0]);
driver.get("http://www.google.com");
driver.quit();
}
public static WebDriver load(String name) {
WebDriver driver = null;
if (name.equalsIgnoreCase("Chrome")) {
System.setProperty("webdriver.chrome.driver",
"\\fyicenter\\selenium\\chromedriver\\chromedriver.exe");
driver = new ChromeDriver();
} else if (name.equalsIgnoreCase("Edge")) {
System.setProperty("webdriver.edge.driver",
"\\fyicenter\\selenium\\edgedriver\\MicrosoftWebDriver.exe");
driver = new EdgeDriver();
} else {
System.out.println("ERROR: Invalid browser name: "+name);
}
return driver;
}
}
3. Compile and run it with the Selenium Client JAR file:
C:\fyicenter> javac -classpath \
\fyicenter\selenium\java\client-combined-3.141.59.jar \
WebDriverLoader.java
C:\fyicenter> java -classpath \
.;\fyicenter\selenium\java\client-combined-3.141.59.jar;\
\fyicenter\selenium\java\libs\guava-25.0-jre.jar;\
\fyicenter\selenium\java\libs\okhttp-3.11.0.jar;\
\fyicenter\selenium\java\libs\okio-1.14.0.jar;\
\fyicenter\selenium\java\libs\commons-exec-1.3.jar \
WebDriverLoader Chrome
Starting ChromeDriver 75.0.3770.8 (...-refs/branch-heads/3770@{#40}) on port 44341
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks
to prevent access by malicious code.
5:59:28 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
C:\fyicenter> java -classpath \
.;\fyicenter\selenium\java\client-combined-3.141.59.jar;\
\fyicenter\selenium\java\libs\guava-25.0-jre.jar;\
\fyicenter\selenium\java\libs\okhttp-3.11.0.jar;\
\fyicenter\selenium\java\libs\okio-1.14.0.jar;\
\fyicenter\selenium\java\libs\commons-exec-1.3.jar \
WebDriverLoader Chrome
[17:59:39.816] - Listening on http://localhost:28824/
5:59:42 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
[17:59:45.003] - Stopping server.
As you can see, the WebDriverLoader.java works nicely.
⇒ Retrieve Web Page Title with WebDriver in Java
⇐ Using Selenium WebDriver Client Java API
2020-01-21, 1915🔥, 0💬
Popular Posts:
How to Override a JMeter Variable from Command Line? I want to run the same test plan multiple times...
How to validate Mod 10 (Luhn Algorithm) checksum? In order to help your programming or testing tasks...
How to Override a JMeter Variable from Command Line? I want to run the same test plan multiple times...
Where to find tutorials on UFT (Unified Functional Testing) tool? I want to know how to use UFT. Her...
How to valid IP addresses? In order to help your programming or testing tasks, FYIcenter.com has des...