Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 /// <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);
     }
 }
Ejemplo n.º 3
0
    /// <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);
    }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
    /// <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)
 {
 }