use of org.openqa.selenium.firefox.FirefoxOptions in project acceptance-test-harness by jenkinsci.
the class FallbackConfig method buildFirefoxOptions.
private FirefoxOptions buildFirefoxOptions(TestName testName) throws IOException {
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.addPreference(LANGUAGE_SELECTOR, "en");
// Config screen with many plugins can cause FF to complain JS takes too long to complete - set longer timeout
firefoxOptions.addPreference(DOM_MAX_SCRIPT_RUN_TIME, (int) getElasticTime().seconds(600));
firefoxOptions.addPreference(DOM_MAX_CHROME_SCRIPT_RUN_TIME, (int) getElasticTime().seconds(600));
firefoxOptions.addPreference(DOM_DISABLE_BEFOREUNLOAD, false);
if (isCaptureHarEnabled()) {
firefoxOptions.setProxy(createSeleniumProxy(testName.get()));
}
if (System.getenv("FIREFOX_BIN") != null) {
firefoxOptions.setBinary(System.getenv("FIREFOX_BIN"));
}
return firefoxOptions;
}
use of org.openqa.selenium.firefox.FirefoxOptions in project ORCID-Source by ORCID.
the class ShibbolethTest method createFireFoxDriverWithModifyHeaders.
private WebDriver createFireFoxDriverWithModifyHeaders(List<Pair<String, String>> headers) throws IOException {
FirefoxProfile fireFoxProfile = new FirefoxProfile();
File modifyHeaders = new File(System.getProperty("user.dir") + "/src/test/resources/modify_headers-0.7.1.1-fx.xpi");
fireFoxProfile.addExtension(modifyHeaders);
fireFoxProfile.setPreference("modifyheaders.headers.count", headers.size());
for (int i = 0; i < headers.size(); i++) {
fireFoxProfile.setPreference("modifyheaders.headers.action" + i, "Add");
fireFoxProfile.setPreference("modifyheaders.headers.name" + i, headers.get(i).getLeft());
fireFoxProfile.setPreference("modifyheaders.headers.value" + i, headers.get(i).getRight());
fireFoxProfile.setPreference("modifyheaders.headers.enabled" + i, true);
}
fireFoxProfile.setPreference("modifyheaders.config.active", true);
fireFoxProfile.setPreference("modifyheaders.config.alwaysOn", true);
FirefoxOptions options = new FirefoxOptions();
options.setCapability(FirefoxDriver.PROFILE, fireFoxProfile);
// Marionette does not allow untrusted certs yet
options.setCapability(FirefoxDriver.MARIONETTE, false);
WebDriver webDriver = new FirefoxDriver(options);
webDriver.manage().timeouts().setScriptTimeout(5, TimeUnit.SECONDS);
return webDriver;
}
use of org.openqa.selenium.firefox.FirefoxOptions in project NoraUi by NoraUi.
the class DriverFactory method generateFirefoxDriver.
/**
* Generates a firefox webdriver.
*
* @return
* A firefox webdriver
* @throws TechnicalException
* if an error occured when Webdriver setExecutable to true.
*/
private WebDriver generateFirefoxDriver() throws TechnicalException {
final String pathWebdriver = DriverFactory.getPath(Driver.FIREFOX);
if (!new File(pathWebdriver).setExecutable(true)) {
throw new TechnicalException(Messages.getMessage(TechnicalException.TECHNICAL_ERROR_MESSAGE_WEBDRIVER_SET_EXECUTABLE));
}
logger.info("Generating Firefox driver ({}) ...", pathWebdriver);
System.setProperty(Driver.FIREFOX.getDriverName(), pathWebdriver);
final FirefoxOptions firefoxOptions = new FirefoxOptions();
final FirefoxBinary firefoxBinary = new FirefoxBinary();
final DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
capabilities.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.ACCEPT);
setLoggingLevel(capabilities);
// Proxy configuration
if (Context.getProxy().getProxyType() != ProxyType.UNSPECIFIED && Context.getProxy().getProxyType() != ProxyType.AUTODETECT) {
capabilities.setCapability(CapabilityType.PROXY, Context.getProxy());
}
if (Context.isHeadless()) {
firefoxBinary.addCommandLineOptions("--headless");
firefoxOptions.setBinary(firefoxBinary);
}
firefoxOptions.setLogLevel(Level.OFF);
capabilities.setCapability(FirefoxOptions.FIREFOX_OPTIONS, firefoxOptions);
return new FirefoxDriver(capabilities);
}
use of org.openqa.selenium.firefox.FirefoxOptions in project selenified by Coveros.
the class TestSetup method setupDriver.
/**
* this creates the webdriver object, which will be used to interact with
* for all browser web tests
*
* @param browser - what browser is being tested on
* @param capabilities - what capabilities are being tested with
* @return WebDriver: the driver to interact with for the test
* @throws InvalidBrowserException If a browser that is not one specified in the
* Selenium.Browser class is used, this exception will be thrown
*/
public static WebDriver setupDriver(Browser browser, DesiredCapabilities capabilities) throws InvalidBrowserException {
WebDriver driver;
// check the browser
switch(browser) {
case HTMLUNIT:
capabilities.setBrowserName("htmlunit");
capabilities.setJavascriptEnabled(true);
System.getProperties().put("org.apache.commons.logging.simplelog.defaultlog", "fatal");
java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF);
java.util.logging.Logger.getLogger("org.apache.http").setLevel(Level.OFF);
driver = new HtmlUnitDriver(capabilities);
break;
case FIREFOX:
FirefoxDriverManager.getInstance().forceCache().setup();
FirefoxOptions firefoxOptions = new FirefoxOptions(capabilities);
if (System.getProperty(HEADLESS_INPUT) != null && "true".equals(System.getProperty(HEADLESS_INPUT))) {
firefoxOptions.setHeadless(true);
}
driver = new FirefoxDriver(firefoxOptions);
break;
case CHROME:
ChromeDriverManager.getInstance().forceCache().setup();
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions = chromeOptions.merge(capabilities);
if (System.getProperty(HEADLESS_INPUT) != null && "true".equals(System.getProperty(HEADLESS_INPUT))) {
chromeOptions.setHeadless(true);
}
driver = new ChromeDriver(chromeOptions);
break;
case INTERNETEXPLORER:
InternetExplorerDriverManager.getInstance().forceCache().setup();
InternetExplorerOptions internetExplorerOptions = new InternetExplorerOptions(capabilities);
driver = new InternetExplorerDriver(internetExplorerOptions);
break;
case EDGE:
EdgeDriverManager.getInstance().forceCache().setup();
EdgeOptions edgeOptions = new EdgeOptions();
edgeOptions = edgeOptions.merge(capabilities);
driver = new EdgeDriver(edgeOptions);
break;
case SAFARI:
SafariOptions safariOptions = new SafariOptions(capabilities);
driver = new SafariDriver(safariOptions);
break;
case OPERA:
OperaDriverManager.getInstance().forceCache().setup();
driver = new OperaDriver(capabilities);
break;
case PHANTOMJS:
PhantomJsDriverManager.getInstance().forceCache().setup();
driver = new PhantomJSDriver(capabilities);
break;
// if the browser is not listed, throw an error
default:
throw new InvalidBrowserException("The selected browser " + browser + " is not an applicable choice");
}
return driver;
}
use of org.openqa.selenium.firefox.FirefoxOptions in project opentest by mcdcorp.
the class SeleniumHelper method createDriver.
private static WebDriver createDriver() {
WebDriver webDriver = null;
DesiredCapabilities caps;
setSystemProperties();
if (config.hasProperty("selenium.seleniumServerUrl")) {
String seleniumServerUrl = config.getString("selenium.seleniumServerUrl");
Logger.info(String.format("Using remote Selenium server %s", seleniumServerUrl));
try {
caps = new DesiredCapabilities();
injectCapsFromConfig(caps);
webDriver = new RemoteWebDriver(new URL(seleniumServerUrl), caps);
} catch (Exception ex) {
throw new RuntimeException(String.format("Falied to connect to Selenium server %s", seleniumServerUrl), ex);
}
} else {
Logger.info("Using local Selenium server");
String browserName = config.getString("selenium.desiredCapabilities.browserName").toLowerCase();
switch(browserName) {
case "chrome":
setDriverExecutable(config.getString("selenium.chromeDriverExePath", null), "chrome");
caps = getCapsForBrowser("chrome");
injectCapsFromConfig(caps);
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.merge(caps);
webDriver = new ChromeDriver(chromeOptions);
break;
case "edge":
setDriverExecutable(config.getString("selenium.edgeDriverExePath", null), "edge");
caps = getCapsForBrowser("edge");
injectCapsFromConfig(caps);
webDriver = new EdgeDriver(caps);
break;
case "firefox":
setDriverExecutable(config.getString("selenium.firefoxDriverExePath", null), "firefox");
caps = getCapsForBrowser("firefox");
injectCapsFromConfig(caps);
FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.merge(caps);
webDriver = new FirefoxDriver(firefoxOptions);
break;
case "internet explorer":
setDriverExecutable(config.getString("selenium.ieDriverExePath", null), "internet explorer");
caps = getCapsForBrowser("internet explorer");
// Avoid the browser zoom level error
caps.setCapability("ignoreZoomSetting", true);
injectCapsFromConfig(caps);
InternetExplorerOptions ieOptions = new InternetExplorerOptions();
ieOptions.merge(caps);
webDriver = new InternetExplorerDriver(ieOptions);
break;
case "opera":
setDriverExecutable(config.getString("selenium.operaDriverExePath", null), "opera");
caps = getCapsForBrowser("opera");
injectCapsFromConfig(caps);
webDriver = new OperaDriver(caps);
break;
case "safari":
setDriverExecutable(config.getString("selenium.safariDriverExePath", null), "safari");
caps = getCapsForBrowser("safari");
injectCapsFromConfig(caps);
webDriver = new SafariDriver();
break;
default:
throw new RuntimeException(String.format("The \"selenium.browserName\" config property specifies a browser " + "that is invalid or not supported. The property value was \"%s\". " + "The valid values are: \"chrome\", \"edge\", \"firefox\", \"internet " + "explorer\" and \"safari\".", browserName));
}
}
webDriver.manage().timeouts().setScriptTimeout(config.getInteger("selenium.scriptTimeout", 20), TimeUnit.SECONDS);
webDriver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
Boolean maximizeWindow = config.getBoolean("selenium.maximizeWindow", true);
if (maximizeWindow) {
try {
webDriver.manage().window().maximize();
} catch (Exception ex) {
Logger.warning(String.format("Failed to maximize browser window"), ex);
}
}
return webDriver;
}
Aggregations