public int getIntegerPreference(String key, int defaultValue) { Object preference = additionalPrefs.getPreference(key); if (preference != null && preference instanceof Integer) { return (Integer) preference; } return defaultValue; }
public boolean getBooleanPreference(String key, boolean defaultValue) { Object preference = additionalPrefs.getPreference(key); if (preference != null && preference instanceof Boolean) { return (Boolean) preference; } return defaultValue; }
public String getStringPreference(String key, String defaultValue) { Object preference = additionalPrefs.getPreference(key); if (preference != null && preference instanceof String) { return (String) preference; } return defaultValue; }
@Test public void userPrefsArePreservedWhenConvertingToAndFromJson() throws IOException { profile.setPreference("browser.startup.homepage", "http://www.example.com"); String json = profile.toJson(); FirefoxProfile rebuilt = FirefoxProfile.fromJson(json); Preferences parsedPrefs = parseUserPrefs(rebuilt); assertEquals("http://www.example.com", parsedPrefs.getPreference("browser.startup.homepage")); }
private boolean getBooleanPreference(Preferences prefs, String key, boolean defaultValue) { Object value = prefs.getPreference(key); if (value == null) { return defaultValue; } if (value instanceof Boolean) { return (Boolean) value; } throw new WebDriverException("Expected boolean value is not a boolean. It is: " + value); }
@Test public void backslashedCharsArePreservedWhenConvertingToAndFromJson() throws IOException { String dir = "c:\\aaa\\bbb\\ccc\\ddd\\eee\\fff\\ggg\\hhh\\iii\\jjj\\kkk\\lll\\mmm\\nnn\\ooo\\ppp\\qqq\\rrr\\sss\\ttt\\uuu\\vvv\\www\\xxx\\yyy\\zzz"; profile.setPreference("browser.download.dir", dir); String json = profile.toJson(); FirefoxProfile rebuilt = FirefoxProfile.fromJson(json); Preferences parsedPrefs = parseUserPrefs(rebuilt); assertEquals(dir, parsedPrefs.getPreference("browser.download.dir")); }
public void updateUserPrefs(File userPrefs) { Preferences prefs = new Preferences(onlyOverrideThisIfYouKnowWhatYouAreDoing()); // Allow users to override these settings prefs.setPreference("browser.startup.homepage", "about:blank"); // The user must be able to override this setting (to 1) in order to // to change homepage on Firefox 3.0 prefs.setPreference("browser.startup.page", 0); if (userPrefs.exists()) { prefs = new Preferences(onlyOverrideThisIfYouKnowWhatYouAreDoing(), userPrefs); if (!userPrefs.delete()) { throw new WebDriverException("Cannot delete existing user preferences"); } } additionalPrefs.addTo(prefs); // Should we accept untrusted certificates or not? prefs.setPreference(ACCEPT_UNTRUSTED_CERTS_PREF, acceptUntrustedCerts); prefs.setPreference(ASSUME_UNTRUSTED_ISSUER_PREF, untrustedCertIssuer); // If the user sets the home page, we should also start up there Object homePage = prefs.getPreference("browser.startup.homepage"); if (homePage != null && homePage instanceof String) { prefs.setPreference("startup.homepage_welcome_url", ""); } if (!"about:blank".equals(prefs.getPreference("browser.startup.homepage"))) { prefs.setPreference("browser.startup.page", 1); } try (FileWriter writer = new FileWriter(userPrefs)) { prefs.writeTo(writer); } catch (IOException e) { throw new WebDriverException(e); } }
@Test public void layoutOnDiskSetsUserPreferences() throws IOException { profile.setPreference("browser.startup.homepage", "http://www.example.com"); Preferences parsedPrefs = parseUserPrefs(profile); assertEquals("http://www.example.com", parsedPrefs.getPreference("browser.startup.homepage")); }