class Rspeckled::Selenium::Drivers::Firefox

Attributes

downloads_directory[R]

Public Class Methods

new(options) click to toggle source
# File lib/rspeckled/plugins/extensions/selenium/drivers/firefox.rb, line 9
def initialize(options)
  self.downloads_directory = options.fetch(:downloads_directory)
end

Public Instance Methods

driver(app) click to toggle source
# File lib/rspeckled/plugins/extensions/selenium/drivers/firefox.rb, line 13
def driver(app)
  ::Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile, :options => options)
end
headless(app) click to toggle source
# File lib/rspeckled/plugins/extensions/selenium/drivers/firefox.rb, line 17
def headless(app)
  ::Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile, :options => headless_options)
end

Private Instance Methods

downloads_directory=(dir) click to toggle source
# File lib/rspeckled/plugins/extensions/selenium/drivers/firefox.rb, line 23
def downloads_directory=(dir)
  ::Dir.mkdir(dir) unless ::Dir.exist?(dir)

  @downloads_directory = dir
end
headless_options() click to toggle source
# File lib/rspeckled/plugins/extensions/selenium/drivers/firefox.rb, line 42
def headless_options
  options.dup.tap do |browser_options|
    browser_options.add_argument('--headless')
  end
end
options() click to toggle source
# File lib/rspeckled/plugins/extensions/selenium/drivers/firefox.rb, line 38
def options
  ::Selenium::WebDriver::Firefox::Options.new
end
profile() click to toggle source
# File lib/rspeckled/plugins/extensions/selenium/drivers/firefox.rb, line 29
def profile
  ::Selenium::WebDriver::Firefox::Profile.new.tap do |profile|
    profile['browser.download.dir']                   = downloads_directory
    profile['browser.download.folderList']            = 2
    profile['browser.helperApps.neverAsk.saveToDisk'] = 'images/jpeg, application/pdf, application/octet-stream'
    profile['pdfjs.disabled']                         = true
  end
end