private Capabilities getHeadlessCapabilities(Config config, Browser browser) { log.info("Starting in headless mode"); if (browser.isChrome()) { ChromeOptions options = new ChromeOptions(); options.setHeadless(config.headless()); return options; } else if (browser.isFirefox()) { FirefoxOptions options = new FirefoxOptions(); options.setHeadless(config.headless()); return options; } else { log.warning("Headless mode on remote server is only supported for Chrome/Firefox, setting will be ignored."); } return new DesiredCapabilities(); }
Capabilities getBrowserBinaryCapabilities(Config config, Browser browser) { log.info("Using browser binary: " + config.browserBinary()); if (browser.isChrome()) { ChromeOptions options = new ChromeOptions(); options.setBinary(config.browserBinary()); return options; } else if (browser.isFirefox()) { FirefoxOptions options = new FirefoxOptions(); options.setBinary(config.browserBinary()); return options; } else { log.warning("Changing browser binary on remote server is only supported for Chrome/Firefox, setting will be ignored."); } return new DesiredCapabilities(); }
public static DesiredCapabilities getBrowserCapabilities(String driverParameter, boolean headless) { DesiredCapabilities capabilities = null; if (driverParameter == null || driverParameter.equalsIgnoreCase(FIREFOX)) { capabilities = DesiredCapabilities.firefox(); FirefoxOptions options = new FirefoxOptions(); options.setHeadless(headless); capabilities.merge(options); } else if (driverParameter.equalsIgnoreCase(IE)) { capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true); capabilities.setCapability(InternetExplorerDriver.IE_ENSURE_CLEAN_SESSION, true); } else if (driverParameter.equalsIgnoreCase(CHROME)) { capabilities = DesiredCapabilities.chrome(); ChromeOptions options = new ChromeOptions(); options.setHeadless(headless); options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation")); capabilities.merge(options); } return capabilities; }
FirefoxOptions createFirefoxOptions(Config config, Proxy proxy) { FirefoxOptions firefoxOptions = new FirefoxOptions(); firefoxOptions.setHeadless(config.headless()); if (!config.browserBinary().isEmpty()) { log.info("Using browser binary: " + config.browserBinary()); firefoxOptions.setBinary(config.browserBinary()); } firefoxOptions.addPreference("network.automatic-ntlm-auth.trusted-uris", "http://,https://"); firefoxOptions.addPreference("network.automatic-ntlm-auth.allow-non-fqdn", true); firefoxOptions.addPreference("network.negotiate-auth.delegation-uris", "http://,https://"); firefoxOptions.addPreference("network.negotiate-auth.trusted-uris", "http://,https://"); firefoxOptions.addPreference("network.http.phishy-userpass-length", 255); firefoxOptions.addPreference("security.csp.enable", false); firefoxOptions.addPreference("network.proxy.no_proxies_on", ""); firefoxOptions.merge(createCommonCapabilities(config, proxy)); firefoxOptions = transferFirefoxProfileFromSystemProperties(firefoxOptions); return firefoxOptions; }
var driver = new FirefoxDriver(new FirefoxOptions());
@BeforeEach public void setup(@TempDirectory.TempDir Path folder) throws IOException { Assumptions.assumeTrue(Boolean.getBoolean("smoke.test"), "Smoke tests disabled (set System property 'smoke.test')"); this.downloadDir = folder.toFile(); FirefoxProfile fxProfile = new FirefoxProfile(); fxProfile.setPreference("browser.download.folderList", 2); fxProfile.setPreference("browser.download.manager.showWhenStarting", false); fxProfile.setPreference("browser.download.dir", this.downloadDir.getAbsolutePath()); fxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/zip,application/x-compress,application/octet-stream"); FirefoxOptions options = new FirefoxOptions().setProfile(fxProfile); this.driver = new FirefoxDriver(options); ((JavascriptExecutor) this.driver).executeScript("window.focus();"); Actions actions = new Actions(this.driver); this.enterAction = actions.sendKeys(Keys.ENTER).build(); }
profile.setPreference("browser.download.dir", System.getProperty("java.io.tmpdir")); FirefoxOptions options = new FirefoxOptions().setProfile(profile); return new FirefoxDriver(options);
private FirefoxOptions getInitializedFirefoxOptions() { if (this.firefoxOptions == null) { this.firefoxOptions = new FirefoxOptions(); } return this.firefoxOptions; }
public FirefoxOptions defaultFirefoxOptions() { FirefoxOptions cap = new FirefoxOptions(); return (FirefoxOptions) modifyCapabilities.apply(cap); } public ChromeOptions defaultChromeOptions() {
/** * @deprecated Use {@link #FirefoxDriver(FirefoxOptions)}. */ @Deprecated public FirefoxDriver(Capabilities desiredCapabilities) { this(new FirefoxOptions(Objects.requireNonNull(desiredCapabilities, "No capabilities seen"))); }
/** * @deprecated Use {@link #FirefoxDriver(GeckoDriverService, FirefoxOptions)}. */ @Deprecated public FirefoxDriver(GeckoDriverService service, Capabilities desiredCapabilities) { this( Objects.requireNonNull(service, "No geckodriver service provided"), new FirefoxOptions(desiredCapabilities)); }
@Override public WebDriver create(Capabilities capabilities, Properties properties) { return new FirefoxDriver(new FirefoxOptions(capabilities)); } },
@Override public WebDriver getWebDriver(Capabilities capabilities) { final FirefoxOptions firefoxOptions; if (capabilities instanceof FirefoxOptions) { firefoxOptions = (FirefoxOptions) capabilities; } else { firefoxOptions = new FirefoxOptions().merge(capabilities); } return new FirefoxDriver(firefoxOptions); } }
private FirefoxOptions getDefaultFirefoxOptions() { FirefoxOptions options = new FirefoxOptions(); options.setLogLevel(FirefoxDriverLogLevel.INFO); options.setHeadless(Boolean.parseBoolean(getLocalConfigProperty(ConfigProperty.BROWSER_RUN_HEADLESS))); return options; }
@Override public DesiredCapabilities getCapabilities(DesiredCapabilities capabilities) { super.getCapabilities(capabilities); FirefoxOptions updated = new FirefoxOptions(capabilities); updated.setHeadless(true); capabilities.setCapability(FirefoxOptions.FIREFOX_OPTIONS, updated); return capabilities; } }
@Override public FirefoxOptions getDefaultOptions() { FirefoxOptions opt = new FirefoxOptions(); opt.addPreference("browser.startup.homepage", "about:blank"); opt.addPreference("startup.homepage_welcome_url", "about:blank"); opt.addPreference("startup.homepage_welcome_url.additional", "about:blank"); return opt; }
@Override protected WebDriver newDriverInstance(Capabilities capabilities) { FirefoxOptions options = new FirefoxOptions(capabilities); FirefoxOptionsEnhancer.enhanceOptions(options).using(environmentVariables); return new FirefoxDriver(options); }
@Override protected FirefoxOptions getBrowserSpecificOptions() { getLogger().debug("creating capabilities for Firefox"); FirefoxOptions options = new FirefoxOptions(); FirefoxProfile firefoxProfile = new FirefoxProfile(); firefoxProfile.setAcceptUntrustedCertificates(true); firefoxProfile.setAssumeUntrustedCertificateIssuer(false); options.setCapability(FirefoxDriver.PROFILE, firefoxProfile); return options; }
private WebDriver newFirefoxDriver(DesiredCapabilities capabilities, EnvironmentVariables environmentVariables) { capabilities.setCapability("marionette", false); CapabilityEnhancer enhancer = new CapabilityEnhancer(environmentVariables, fixtureProviderService); FirefoxOptions options = new FirefoxOptions(enhancer.enhanced(capabilities, SupportedWebDriver.FIREFOX)); FirefoxOptionsEnhancer.enhanceOptions(options).using(environmentVariables); return new FirefoxDriver(options); }
@Override protected FirefoxDriver createBrowser() { FirefoxOptions desiredCapabilities = new FirefoxOptions(createCapabilities()); desiredCapabilities.setCapability(FirefoxDriver.PROFILE, createProfile()); return new FirefoxDriver(new GeckoDriverService.Builder().usingFirefoxBinary(new FirefoxBinary()).build(), desiredCapabilities); }