Skip to content

Commit ef63745

Browse files
Mindstix_ AniketKMindstix_ AniketK
authored andcommitted
Added incognito, headless and grid for firefox
1 parent 77109b4 commit ef63745

File tree

1 file changed

+40
-2
lines changed

1 file changed

+40
-2
lines changed

src/main/java/com/mindstix/cb/utils/DriverUtility.java

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.openqa.selenium.chrome.ChromeDriver;
1515
import org.openqa.selenium.chrome.ChromeOptions;
1616
import org.openqa.selenium.firefox.FirefoxDriver;
17+
import org.openqa.selenium.firefox.FirefoxOptions;
1718
import org.openqa.selenium.ie.InternetExplorerDriver;
1819
import org.openqa.selenium.remote.CapabilityType;
1920
import org.openqa.selenium.remote.DesiredCapabilities;
@@ -152,8 +153,45 @@ private static WebDriver initChromeDriver() {
152153
*/
153154
private static WebDriver initFirefoxDriver() {
154155
FirefoxDriverManager.getInstance().version("0.18").setup();
155-
WebDriver webDriver = new FirefoxDriver();
156-
webDriver.manage().window().maximize();
156+
String mode = System.getProperty("env.mode");
157+
FirefoxOptions options = null;
158+
WebDriver webDriver = null;
159+
if (mode != null) {
160+
switch (mode) {
161+
case "normal":
162+
DesiredCapabilities handlSSLErr = DesiredCapabilities.chrome();
163+
handlSSLErr.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
164+
webDriver = new FirefoxDriver();
165+
break;
166+
case "headless":
167+
options = new FirefoxOptions();
168+
options.addArguments("--headless");
169+
options.addArguments("--start-maximized");
170+
webDriver = new FirefoxDriver(options);
171+
break;
172+
case "grid":
173+
String hubIPAddress = System.getProperty("env.hubIP");
174+
DesiredCapabilities dc = DesiredCapabilities.firefox();
175+
try {
176+
webDriver = new RemoteWebDriver(new URL("http://" + hubIPAddress + "/wd/hub"), dc);
177+
} catch (MalformedURLException e) {
178+
throw new RuntimeException(e.getMessage());
179+
}
180+
break;
181+
case "incognito":
182+
options = new FirefoxOptions();
183+
options.addArguments("-private");
184+
webDriver = new FirefoxDriver(options);
185+
webDriver.manage().window().maximize();
186+
break;
187+
default:
188+
webDriver = new FirefoxDriver();
189+
break;
190+
}
191+
}else {
192+
LOGGER.warn("No Mode selected for browser");
193+
webDriver = new FirefoxDriver();
194+
}
157195
return webDriver;
158196
}
159197

0 commit comments

Comments
 (0)