Sha256: fb3996deee0b9e9903b0119097909b19ab5898caabdc3faf9b7b3adcbada3831

Contents?: true

Size: 1.18 KB

Versions: 5

Compression:

Stored size: 1.18 KB

Contents

# Encoding: utf-8

class SeleniumConnect
  # Runner
  class Runner
    # Firefox browser runner
    class Firefox
      attr_reader :config

      def initialize(config)
        @config = config
      end

      def match?
        config.browser == 'firefox'
      end

      def launch
        init_browser
      end

      private

      def get_profile
        if config.profile_path
          Selenium::WebDriver::Firefox::Profile.new config.profile_path
        elsif config.profile_name
          Selenium::WebDriver::Firefox::Profile.from_name config.profile_name
        else
          Selenium::WebDriver::Firefox::Profile.new
        end
      end

      def config_browser
        profile = get_profile
        profile.assume_untrusted_certificate_issuer = false unless profile.nil?
        profile.log_file = File.join(Dir.getwd, config.log, 'firefox.log') if config.log
        browser = Selenium::WebDriver::Remote::Capabilities.firefox
        browser[:firefox_binary] = config.browser_path if config.browser_path
        browser[:firefox_profile] = profile
        browser
      end

      def init_browser
        config_browser
      end

    end # Firefox
  end # Runner
end # SeleniumConnect

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
selenium-connect-3.7.1 lib/selenium_connect/runners/firefox.rb
selenium-connect-3.7.0 lib/selenium_connect/runners/firefox.rb
selenium-connect-3.6.0 lib/selenium_connect/runners/firefox.rb
selenium-connect-3.5.0 lib/selenium_connect/runners/firefox.rb
selenium-connect-3.4.0 lib/selenium_connect/runners/firefox.rb