public static FromBase64String ( string base64 ) : |
||
base64 | string | The base64-encoded string containing the profile contents. |
return |
private static FirefoxProfile ExtractProfile(ICapabilities capabilities) { FirefoxProfile profile = new FirefoxProfile(); if (capabilities.GetCapability(ProfileCapabilityName) != null) { object raw = capabilities.GetCapability(ProfileCapabilityName); FirefoxProfile rawAsProfile = raw as FirefoxProfile; string rawAsString = raw as string; if (rawAsProfile != null) { profile = rawAsProfile; } else if (rawAsString != null) { try { profile = FirefoxProfile.FromBase64String(rawAsString); } catch (IOException e) { throw new WebDriverException("Unable to create profile from specified string", e); } } } if (capabilities.GetCapability(CapabilityType.Proxy) != null) { Proxy proxy = null; object raw = capabilities.GetCapability(CapabilityType.Proxy); Proxy rawAsProxy = raw as Proxy; Dictionary <string, object> rawAsMap = raw as Dictionary <string, object>; if (rawAsProxy != null) { proxy = rawAsProxy; } else if (rawAsMap != null) { proxy = new Proxy(rawAsMap); } profile.SetProxyPreferences(proxy); } if (capabilities.GetCapability(CapabilityType.AcceptSslCertificates) != null) { bool acceptCerts = (bool)capabilities.GetCapability(CapabilityType.AcceptSslCertificates); profile.AcceptUntrustedCertificates = acceptCerts; } return(profile); }
private static FirefoxProfile ExtractProfile(ICapabilities capabilities) { FirefoxProfile firefoxProfile = new FirefoxProfile(); if (capabilities.GetCapability(FirefoxDriver.ProfileCapabilityName) != null) { object capability = capabilities.GetCapability(FirefoxDriver.ProfileCapabilityName); FirefoxProfile firefoxProfile2 = capability as FirefoxProfile; string text = capability as string; if (firefoxProfile2 != null) { firefoxProfile = firefoxProfile2; } else if (text != null) { try { firefoxProfile = FirefoxProfile.FromBase64String(text); } catch (IOException innerException) { throw new WebDriverException("Unable to create profile from specified string", innerException); } } } if (capabilities.GetCapability(CapabilityType.Proxy) != null) { Proxy proxyPreferences = null; object capability2 = capabilities.GetCapability(CapabilityType.Proxy); Proxy proxy = capability2 as Proxy; Dictionary <string, object> dictionary = capability2 as Dictionary <string, object>; if (proxy != null) { proxyPreferences = proxy; } else if (dictionary != null) { proxyPreferences = new Proxy(dictionary); } firefoxProfile.SetProxyPreferences(proxyPreferences); } if (capabilities.GetCapability(CapabilityType.AcceptSslCertificates) != null) { bool acceptUntrustedCertificates = (bool)capabilities.GetCapability(CapabilityType.AcceptSslCertificates); firefoxProfile.AcceptUntrustedCertificates = acceptUntrustedCertificates; } return(firefoxProfile); }
private void ImportCapabilities(DesiredCapabilities capabilities) { foreach (KeyValuePair <string, object> pair in capabilities.CapabilitiesDictionary) { if (pair.Key == CapabilityType.BrowserName) { } else if (pair.Key == CapabilityType.BrowserVersion) { this.BrowserVersion = pair.Value.ToString(); } else if (pair.Key == CapabilityType.PlatformName) { this.PlatformName = pair.Value.ToString(); } else if (pair.Key == CapabilityType.Proxy) { this.Proxy = new Proxy(pair.Value as Dictionary <string, object>); } else if (pair.Key == CapabilityType.UnhandledPromptBehavior) { this.UnhandledPromptBehavior = (UnhandledPromptBehavior)Enum.Parse(typeof(UnhandledPromptBehavior), pair.Value.ToString(), true); } else if (pair.Key == CapabilityType.PageLoadStrategy) { this.PageLoadStrategy = (PageLoadStrategy)Enum.Parse(typeof(PageLoadStrategy), pair.Value.ToString(), true); } else if (pair.Key == FirefoxOptionsCapability) { Dictionary <string, object> mozFirefoxOptions = pair.Value as Dictionary <string, object>; foreach (KeyValuePair <string, object> option in mozFirefoxOptions) { if (option.Key == FirefoxArgumentsCapability) { object[] args = option.Value as object[]; for (int i = 0; i < args.Length; i++) { this.firefoxArguments.Add(args[i].ToString()); } } else if (option.Key == FirefoxPrefsCapability) { this.profilePreferences = option.Value as Dictionary <string, object>; } else if (option.Key == FirefoxLogCapability) { Dictionary <string, object> logDictionary = option.Value as Dictionary <string, object>; if (logDictionary.ContainsKey("level")) { this.logLevel = (FirefoxDriverLogLevel)Enum.Parse(typeof(FirefoxDriverLogLevel), logDictionary["level"].ToString(), true); } } else if (option.Key == FirefoxBinaryCapability) { this.browserBinaryLocation = option.Value.ToString(); } else if (option.Key == FirefoxProfileCapability) { this.profile = FirefoxProfile.FromBase64String(option.Value.ToString()); } else { this.AddAdditionalCapability(option.Key, option.Value); } } } else { this.AddAdditionalCapability(pair.Key, pair.Value, true); } } }