private static ExtensionConnection CreateExtensionConnection(FirefoxBinary binary, FirefoxProfile profile) { FirefoxProfile profileToUse = profile; // TODO (JimEvans): Provide a "named profile" override. // string suggestedProfile = System.getProperty("webdriver.firefox.profile"); string suggestedProfile = null; if (profileToUse == null && suggestedProfile != null) { profileToUse = new FirefoxProfileManager().GetProfile(suggestedProfile); } else if (profileToUse == null) { profileToUse = new FirefoxProfile(); profileToUse.AddExtension(false); } else { profileToUse.AddExtension(false); } ExtensionConnection extension = ConnectTo(binary, profileToUse, "localhost"); return(extension); }
/// <summary> /// Starts the command executor, enabling communication with the browser. /// </summary> protected override void StartClient() { try { ExtensionConnection connection = (ExtensionConnection)this.CommandExecutor; connection.Profile.AddWebDriverExtension(); ((ExtensionConnection)this.CommandExecutor).Start(); } catch (IOException e) { throw new WebDriverException("An error occurred while connecting to Firefox", e); } }
/// <summary> /// Removes the ExtensionConnection from InteriorConnections /// </summary> public bool removeConnection(ExtensionConnection connection) { ExtensionConnection found = this.interiorConnections.Find(con => con.Equals(connection)); if (found != null) { found.destroy(); this.interiorConnections.Remove(found); this.OnConnectionRemove?.Invoke(); } return(found != null); }
private static ExtensionConnection CreateExtensionConnection(FirefoxBinary binary, FirefoxProfile profile, TimeSpan commandTimeout) { FirefoxProfile profileToUse = profile; string suggestedProfile = Environment.GetEnvironmentVariable("webdriver.firefox.profile"); if (profileToUse == null && suggestedProfile != null) { profileToUse = new FirefoxProfileManager().GetProfile(suggestedProfile); } else if (profileToUse == null) { profileToUse = new FirefoxProfile(); } ExtensionConnection extension = new ExtensionConnection(binary, profileToUse, "localhost", commandTimeout); return(extension); }
/// <summary> /// Add an ExtensionConnection to InteriorConnections /// </summary> public bool addConnection(ExtensionConnection connection) { bool result = false; TExtension fromExtension = Array.Find(this.Extensions, extension => extension.Equals(connection.FromExtension)); TExtension toExtension = Array.Find(this.Extensions, extension => extension.Equals(connection.ToExtension)); if (connection.FromTerminal.Equals(this) && fromExtension != null && Array.Exists(fromExtension.SendNodes, bridge => bridge.Equals(connection.FromNode)) && connection.ToTerminal.Equals(this) && toExtension != null && Array.Exists(toExtension.ReceiveNodes, bridge => bridge.Equals(connection.ToNode))) { this.interiorConnections.Add(connection); result = true; this.OnConnectionAdd?.Invoke(); } return(result); }
/// <summary> /// Populates the controller with connection data /// </summary> /// <param name=""></param> public void giveData(ExtensionConnection connection) { }