List of usage examples for org.openqa.selenium.firefox FirefoxProfile FirefoxProfile
public FirefoxProfile()
From source file:org.core.FirefoxBenchmark.java
License:Open Source License
@Override protected WebDriver getWebDriver(TestCase test) { FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("general.useragent.override", "Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; HTC Desire 1.19.161.5 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17"); profile.setPreference("network.http.proxy.pipelining", true); if (test.getProxy() != null && !test.getProxy().equals("")) { String[] hostAndPort = test.getProxy().split(":"); String host = hostAndPort[0]; Integer port = Integer.valueOf(hostAndPort[1]); profile.setPreference("network.proxy.type", 1); profile.setPreference("network.proxy.http", host); profile.setPreference("network.proxy.http_port", port); }/*from w ww . java 2 s.com*/ return new FirefoxDriver(profile); }
From source file:org.eclipse.scout.rt.testing.ui.rap.RapMock.java
License:Open Source License
@Override public void beforeTest() { if (m_service != null) { if (useChrome) { DesiredCapabilities chrome = DesiredCapabilities.chrome(); m_driver = new RemoteWebDriver(m_service.getUrl(), chrome); }//from w w w . j a v a 2 s .c o m } else { if (useFirefox) { System.setProperty("webdriver.firefox.bin", "C:/FirefoxPortableTest_11/App/Firefox/firefox.exe"); FirefoxProfile firefoxProfile = new FirefoxProfile(); if (useFirebug) { try { firefoxProfile.addExtension(new File("E:/Downloads/java/firebug-1.9.2-fx.xpi")); firefoxProfile.setPreference("extensions.firebug.currentVersion", "1.9.2"); // Avoid startup screen firefoxProfile.addExtension(new File("E:/Downloads/java/firepath-0.9.7-fx.xpi")); } catch (IOException e) { throw new IllegalStateException("Could not add/find firefox extensions.", e); } } m_driver = new FirefoxDriver(firefoxProfile); // m_driver = new FirefoxDriver(new FirefoxProfile(new File("C:/Temp/webdriver-profile"))); } } if (m_driver == null) { throw new NullPointerException("no driver instantiated!"); } m_bot = new RAPSelenium(m_driver, "http://localhost:8081"); m_actionBuilder = new Actions(m_bot.getWrappedDriver()); m_bot.open("http://localhost:8081/rap"); m_bot.waitForElementPresent("w2"); }
From source file:org.eclipse.skalli.selenium.utils.DriverProvider.java
License:Open Source License
/** * Starts the driver, adds a shutdown hook to stop the driver and navigates to {@link #getHTTPBaseUrl()} *//*from w w w .j a va 2 s .co m*/ private static void startDriver() { FirefoxProfile profile = new FirefoxProfile(); //load the browser plugins if (BROWSER_PLUGINS_FOLDER.exists()) { File[] plugins = BROWSER_PLUGINS_FOLDER.listFiles(); for (int i = 0; i < plugins.length; i++) { File plugin = plugins[i]; String name = plugin.getName(); if (!name.toLowerCase().contains(".xpi")) { System.err.println("\"" + name + "\" is not a plugin -> remove from " + BROWSER_PLUGINS_FOLDER); continue; } //pluginName = "firebug-" + FIREBUG_VERSION + ".xpi" //pluginName = "firepath-" + FIREPATH_VERSION + "-fx.xpi" //set up the plugin if needed if (name.toLowerCase().contains("firebug")) { //pluginName = "firebug-" + FIREBUG_VERSION + ".xpi" String version = name.substring("firebug-".length()); version = version.substring(0, version.length() - ".xpi".length()); //avoids that the first run page is shown profile.setPreference("extensions.firebug.currentVersion", version); } //add the plugin try { profile.addExtension(plugin); } catch (IOException e) { System.err.println("could not add extension \"" + name + "\" to the profile\n" + e); e.printStackTrace(); } } } driver = new FirefoxDriver(profile); registerShutdownHook(); driver.get(getHTTPBaseUrl()); copyTestContent(); }
From source file:org.glassfish.tyrus.tests.qa.SeleniumToolkit.java
License:Open Source License
public void setUpFirefox() { try {// w w w . j a va2s .co m FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("network.proxy.type", 0); if (onWindows()) { assert new File(WIN_FIREFOX_BIN).exists() : WIN_FIREFOX_BIN + " exists"; driver = new FirefoxDriver(new FirefoxBinary(new File(WIN_FIREFOX_BIN)), profile); } else { driver = new FirefoxDriver(profile); } commonBrowserSetup(); logger.log(Level.INFO, "FF Setup PASSED"); } catch (Exception ex) { logger.log(Level.SEVERE, "FF Setup FAILED: {0}", ex.getLocalizedMessage()); ex.printStackTrace(); } finally { assert driver != null : "Driver is null"; } }
From source file:org.jboss.pressgang.ccms.page.WebDriverFactory.java
License:Open Source License
private FirefoxProfile makeFirefoxProfile() { if (!Strings.isNullOrEmpty(System.getProperty("webdriver.firefox.profile"))) { throw new RuntimeException("webdriver.firefox.profile is ignored"); // TODO - look at FirefoxDriver.getProfile(). }//from www . jav a2s . c o m final FirefoxProfile firefoxProfile = new FirefoxProfile(); /* * TODO: Evaluate need for this * Disable unnecessary connection to sb-ssl.google.com * firefoxProfile.setPreference("browser.safebrowsing.malware.enabled", false); */ firefoxProfile.setAlwaysLoadNoFocusLib(true); firefoxProfile.setEnableNativeEvents(true); firefoxProfile.setAcceptUntrustedCertificates(true); return firefoxProfile; }
From source file:org.jitsi.meet.test.ConferenceFixture.java
License:Apache License
/** * Starts a <tt>WebDriver</tt> instance using default settings. * @param browser the browser type./* w ww.ja v a2s.c o m*/ * @param participant the participant we are creating a driver for. * @return the <tt>WebDriver</tt> instance. */ private static WebDriver startDriverInstance(BrowserType browser, Participant participant) { // by default we load chrome, but we can load safari or firefox if (browser == BrowserType.firefox) { String browserBinary = System.getProperty(BROWSER_FF_BINARY_NAME_PROP); if (browserBinary != null && browserBinary.trim().length() > 0) { File binaryFile = new File(browserBinary); if (binaryFile.exists()) System.setProperty("webdriver.firefox.bin", browserBinary); } FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("media.navigator.permission.disabled", true); // Enables tcp in firefox, disabled by default in 44 profile.setPreference("media.peerconnection.ice.tcp", true); profile.setAcceptUntrustedCertificates(true); profile.setPreference("webdriver.log.file", FailureListener.createLogsFolder() + "/firefox-js-console-" + getParticipantName(participant) + ".log"); System.setProperty("webdriver.firefox.logfile", FailureListener.createLogsFolder() + "/firefox-console-" + getParticipantName(participant) + ".log"); return new FirefoxDriver(profile); } else if (browser == BrowserType.safari) { return new SafariDriver(); } else if (browser == BrowserType.ie) { DesiredCapabilities caps = DesiredCapabilities.internetExplorer(); caps.setCapability("ignoreZoomSetting", true); System.setProperty("webdriver.ie.driver.silent", "true"); return new InternetExplorerDriver(caps); } else { System.setProperty("webdriver.chrome.verboseLogging", "true"); System.setProperty("webdriver.chrome.logfile", FailureListener.createLogsFolder() + "/chrome-console-" + getParticipantName(participant) + ".log"); DesiredCapabilities caps = DesiredCapabilities.chrome(); LoggingPreferences logPrefs = new LoggingPreferences(); logPrefs.enable(LogType.BROWSER, Level.ALL); caps.setCapability(CapabilityType.LOGGING_PREFS, logPrefs); final ChromeOptions ops = new ChromeOptions(); ops.addArguments("use-fake-ui-for-media-stream"); ops.addArguments("use-fake-device-for-media-stream"); ops.addArguments("disable-extensions"); ops.addArguments("disable-plugins"); ops.addArguments("mute-audio"); String disProp = System.getProperty(DISABLE_NOSANBOX_PARAM); if (disProp == null && !Boolean.parseBoolean(disProp)) { ops.addArguments("no-sandbox"); ops.addArguments("disable-setuid-sandbox"); } // starting version 46 we see crashes of chrome GPU process when // running in headless mode // which leaves the browser opened and selenium hang forever. // There are reports that in older version crashes like that will // fallback to software graphics, we try to disable gpu for now ops.addArguments("disable-gpu"); String browserProp; if (participant == Participant.secondParticipantDriver) browserProp = BROWSER_CHROME_BINARY_SECOND_NAME_PROP; else browserProp = BROWSER_CHROME_BINARY_OWNER_NAME_PROP; String browserBinary = System.getProperty(browserProp); if (browserBinary != null && browserBinary.trim().length() > 0) { File binaryFile = new File(browserBinary); if (binaryFile.exists()) ops.setBinary(binaryFile); } if (fakeStreamAudioFName != null) { ops.addArguments("use-file-for-fake-audio-capture=" + fakeStreamAudioFName); } if (fakeStreamVideoFName != null) { ops.addArguments("use-file-for-fake-video-capture=" + fakeStreamVideoFName); } //ops.addArguments("vmodule=\"*media/*=3,*turn*=3\""); ops.addArguments("enable-logging"); ops.addArguments("vmodule=*=3"); caps.setCapability(ChromeOptions.CAPABILITY, ops); try { final ExecutorService pool = Executors.newFixedThreadPool(1); // we will retry four times for 1 minute to obtain // the chrome driver, on headless environments chrome hangs // and we wait forever for (int i = 0; i < 2; i++) { Future<ChromeDriver> future = null; try { future = pool.submit(new Callable<ChromeDriver>() { @Override public ChromeDriver call() throws Exception { long start = System.currentTimeMillis(); ChromeDriver resDr = new ChromeDriver(ops); System.err.println("ChromeDriver created for:" + (System.currentTimeMillis() - start) + " ms."); return resDr; } }); ChromeDriver res = future.get(2, TimeUnit.MINUTES); if (res != null) return res; } catch (TimeoutException te) { // cancel current task if (future != null) future.cancel(true); System.err.println("Timeout waiting for " + "chrome instance! We will retry now, this was our" + "attempt " + i); } } } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } // keep the old code System.err.println("Just create ChromeDriver, may hang!"); return new ChromeDriver(ops); } }
From source file:org.jitsi.meet.test.web.WebParticipantFactory.java
License:Apache License
/** * Starts a <tt>WebDriver</tt> instance using default settings. * @param options the options to use when creating the driver. * @return the <tt>WebDriver</tt> instance. *//*from ww w . j a v a2 s .c om*/ private WebDriver startWebDriver(WebParticipantOptions options) { ParticipantType participantType = options.getParticipantType(); String version = options.getVersion(); File browserBinaryAPath = getFile(options, options.getBinary()); boolean isRemote = options.isRemote(); // by default we load chrome, but we can load safari or firefox if (participantType.isFirefox()) { FirefoxDriverManager.getInstance().setup(); if (browserBinaryAPath != null && (browserBinaryAPath.exists() || isRemote)) { System.setProperty("webdriver.firefox.bin", browserBinaryAPath.getAbsolutePath()); } FirefoxProfile profile = new FirefoxProfile(); profile.setPreference("media.navigator.permission.disabled", true); // Enables tcp in firefox, disabled by default in 44 profile.setPreference("media.peerconnection.ice.tcp", true); profile.setPreference("media.navigator.streams.fake", true); profile.setAcceptUntrustedCertificates(true); profile.setPreference("webdriver.log.file", FailureListener.createLogsFolder() + "/firefox-js-console-" + options.getName() + ".log"); System.setProperty("webdriver.firefox.logfile", FailureListener.createLogsFolder() + "/firefox-console-" + options.getName() + ".log"); if (isRemote) { FirefoxOptions ffOptions = new FirefoxOptions(); ffOptions.setProfile(profile); if (version != null && version.length() > 0) { ffOptions.setCapability(CapabilityType.VERSION, version); } return new RemoteWebDriver(options.getRemoteDriverAddress(), ffOptions); } return new FirefoxDriver(new FirefoxOptions().setProfile(profile)); } else if (participantType == ParticipantType.safari) { // You must enable the 'Allow Remote Automation' option in // Safari's Develop menu to control Safari via WebDriver. // In Safari->Preferences->Websites, select Camera, // and select Allow for "When visiting other websites" if (isRemote) { return new RemoteWebDriver(options.getRemoteDriverAddress(), new SafariOptions()); } return new SafariDriver(); } else if (participantType == ParticipantType.edge) { InternetExplorerDriverManager.getInstance().setup(); InternetExplorerOptions ieOptions = new InternetExplorerOptions(); ieOptions.ignoreZoomSettings(); System.setProperty("webdriver.ie.driver.silent", "true"); return new InternetExplorerDriver(ieOptions); } else { ChromeDriverManager.getInstance().setup(); System.setProperty("webdriver.chrome.verboseLogging", "true"); System.setProperty("webdriver.chrome.logfile", FailureListener.createLogsFolder() + "/chrome-console-" + options.getName() + ".log"); LoggingPreferences logPrefs = new LoggingPreferences(); logPrefs.enable(LogType.BROWSER, Level.ALL); final ChromeOptions ops = new ChromeOptions(); ops.addArguments("use-fake-ui-for-media-stream"); ops.addArguments("use-fake-device-for-media-stream"); ops.addArguments("disable-plugins"); ops.addArguments("mute-audio"); ops.addArguments("disable-infobars"); // Since chrome v66 there are new autoplay policies, which broke // shared video tests, disable no-user-gesture to make it work ops.addArguments("autoplay-policy=no-user-gesture-required"); if (options.getChromeExtensionId() != null) { try { ops.addExtensions(downloadExtension(options.getChromeExtensionId())); } catch (IOException e) { throw new RuntimeException(e); } } ops.addArguments("auto-select-desktop-capture-source=Entire screen"); ops.setCapability(CapabilityType.LOGGING_PREFS, logPrefs); if (options.isChromeSandboxDisabled()) { ops.addArguments("no-sandbox"); ops.addArguments("disable-setuid-sandbox"); } if (options.isHeadless()) { ops.addArguments("headless"); ops.addArguments("window-size=1200x600"); } // starting version 46 we see crashes of chrome GPU process when // running in headless mode // which leaves the browser opened and selenium hang forever. // There are reports that in older version crashes like that will // fallback to software graphics, we try to disable gpu for now ops.addArguments("disable-gpu"); if (browserBinaryAPath != null && (browserBinaryAPath.exists() || isRemote)) { ops.setBinary(browserBinaryAPath.getAbsolutePath()); } File uplinkFile = getFile(options, options.getUplink()); if (uplinkFile != null) { ops.addArguments("uplink=" + uplinkFile.getAbsolutePath()); } File downlinkFile = getFile(options, options.getDownlink()); if (downlinkFile != null) { ops.addArguments("downlink=" + downlinkFile.getAbsolutePath()); } String profileDirectory = options.getProfileDirectory(); if (profileDirectory != null && profileDirectory != "") { ops.addArguments("user-data-dir=" + profileDirectory); } File fakeStreamAudioFile = getFile(options, options.getFakeStreamAudioFile()); if (fakeStreamAudioFile != null) { ops.addArguments("use-file-for-fake-audio-capture=" + fakeStreamAudioFile.getAbsolutePath()); } File fakeStreamVideoFile = getFile(options, options.getFakeStreamVideoFile()); if (fakeStreamVideoFile != null) { ops.addArguments("use-file-for-fake-video-capture=" + fakeStreamVideoFile.getAbsolutePath()); } //ops.addArguments("vmodule=\"*media/*=3,*turn*=3\""); ops.addArguments("enable-logging"); ops.addArguments("vmodule=*=3"); if (isRemote) { if (version != null && version.length() > 0) { ops.setCapability(CapabilityType.VERSION, version); } return new RemoteWebDriver(options.getRemoteDriverAddress(), ops); } try { final ExecutorService pool = Executors.newFixedThreadPool(1); // we will retry four times for 1 minute to obtain // the chrome driver, on headless environments chrome hangs // and we wait forever for (int i = 0; i < 2; i++) { Future<ChromeDriver> future = null; try { future = pool.submit(() -> { long start = System.currentTimeMillis(); ChromeDriver resDr = new ChromeDriver(ops); TestUtils.print( "ChromeDriver created for:" + (System.currentTimeMillis() - start) + " ms."); return resDr; }); ChromeDriver res = future.get(2, TimeUnit.MINUTES); if (res != null) return res; } catch (TimeoutException te) { // cancel current task future.cancel(true); TestUtils.print("Timeout waiting for " + "chrome instance! We will retry now, this was our" + "attempt " + i); } } } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } // keep the old code TestUtils.print("Just create ChromeDriver, may hang!"); return new ChromeDriver(ops); } }
From source file:org.jwatter.browser.FirefoxWebAutomationFramework.java
License:Apache License
/** * Creates a new Firefox browser instance with a blank window. * /*from ww w. j ava 2 s .co m*/ * @throws Exception * if an error occurs */ @Override public void createBrowser() throws Exception { FirefoxProfile profile = new FirefoxProfile(); profile.setAcceptUntrustedCertificates(false); browser = new FirefoxDriver(profile); initBrowser(); }
From source file:org.kitodo.selenium.testframework.Browser.java
License:Open Source License
private static void provideGeckoDriver() throws IOException { String driverFileName = "geckodriver"; if (SystemUtils.IS_OS_WINDOWS) { driverFileName = driverFileName.concat(".exe"); }/*from ww w . java 2 s . c o m*/ File driverFile = new File(DRIVER_DIR + driverFileName); if (!driverFile.exists()) { WebDriverProvider.provideGeckoDriver(GECKO_DRIVER_VERSION, DOWNLOAD_DIR, DRIVER_DIR); } FirefoxProfile profile = new FirefoxProfile(); profile.setAssumeUntrustedCertificateIssuer(false); profile.setPreference("browser.helperApps.alwaysAsk.force", false); profile.setPreference("browser.download.dir", DOWNLOAD_DIR); FirefoxOptions options = new FirefoxOptions(); options.setProfile(profile); webDriver = new FirefoxDriver(options); }
From source file:org.kuali.rice.testtools.selenium.JenkinsJsonJobResultsBase.java
License:Educational Community License
public void setUp() throws MalformedURLException, InterruptedException { if (System.getProperty(JENKINS_JOBS) == null) { System.out.println("Don't know what jobs to retrieve. -D" + JENKINS_JOBS + "= must be declared."); System.exit(1);//from w w w . j a v a 2 s . co m } jenkinsBase = System.getProperty(JENKINS_BASE_URL, "http://ci.kuali.org"); outputDirectory = System.getProperty(JSON_OUTPUT_DIR); FirefoxProfile profile = new FirefoxProfile(); profile.setEnableNativeEvents(false); downloadDir = System.getProperty(BROWSER_DOWNLOAD_DIR, System.getProperty("user.home") + File.separator + "Downloads"); // download files automatically (don't prompt) profile.setPreference("browser.download.folderList", 2); profile.setPreference("browser.download.manager.showWhenStarting", false); profile.setPreference("browser.download.dir", downloadDir); profile.setPreference(BROWSER_HELPER_APPS_NEVER_ASK_SAVE_TO_DISK, System.getProperty(BROWSER_HELPER_APPS_NEVER_ASK_SAVE_TO_DISK, "application/zip")); DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(FirefoxDriver.PROFILE, profile); driver = new FirefoxDriver(capabilities); driver.manage().timeouts().implicitlyWait(WebDriverUtils.configuredImplicityWait(), TimeUnit.SECONDS); driver.get(jenkinsBase + "/login?form"); // CAS // WebDriverUtils.waitFor(driver, WebDriverUtils.configuredImplicityWait(), By.id("username"), // this.getClass().toString()); // driver.findElement(By.id("username")).sendKeys(System.getProperty(CAS_USERNAME)); // driver.findElement(By.id("password")).sendKeys(System.getProperty(CAS_PASSWORD)); // driver.findElement(By.name("submit")).click(); // Thread.sleep(1000); // // exitOnLoginProblems(); // Jenkins login page (don't login, we have authenticated through CAS already WebDriverUtils.waitFor(driver, WebDriverUtils.configuredImplicityWait(), By.xpath("//span[contains(text(), 'Page generated')]"), this.getClass().toString()); // setup jobs builds jobsBuildsStrings = System.getProperty(JENKINS_JOBS).split("[,\\s]"); String job; for (String jobsBuildsString : jobsBuildsStrings) { if (jobsBuildsString.contains(":")) { List<String> jobBuilds = Arrays.asList(jobsBuildsString.split(":")); job = jobBuilds.get(0); // first item is the job name jobs.add(job); if (jobBuilds.size() == 2 && "all".equals(jobBuilds.get(1))) { // job:all jobsBuildsMap.put(job, fetchAllJobNumbers(job)); } else { // regular usage jobsBuildsMap.put(job, jobBuilds.subList(1, jobBuilds.size())); // first item is the job name } } else { // no jobNumbers specified, use last complete build number List<String> jobBuilds = new LinkedList<String>(); jobBuilds.add(fetchLastCompletedBuildNumber(jobsBuildsString) + ""); jobs.add(jobsBuildsString); jobsBuildsMap.put(jobsBuildsString, jobBuilds); } } passed = true; }