class Selenium::WebDriver::Opera::Bridge
Public Class Methods
new(opts = {})
click to toggle source
Calls superclass method
# File lib/selenium/webdriver/opera/bridge.rb, line 13 def initialize(opts = {}) @service = Service.default_service :log => (opts[:logging_level] ? true : false) http_client = opts.delete(:http_client) caps = create_capabilities(opts) @service.start remote_opts = { :url => @service.uri, :desired_capabilities => caps } remote_opts.merge!(:http_client => http_client) if http_client super(remote_opts) end
Public Instance Methods
browser()
click to toggle source
# File lib/selenium/webdriver/opera/bridge.rb, line 31 def browser :opera end
capabilities()
click to toggle source
# File lib/selenium/webdriver/opera/bridge.rb, line 42 def capabilities @capabilities ||= Remote::Capabilities.opera end
driver_extensions()
click to toggle source
# File lib/selenium/webdriver/opera/bridge.rb, line 35 def driver_extensions [ DriverExtensions::HasInputDevices, DriverExtensions::TakesScreenshot ] end
quit()
click to toggle source
Calls superclass method
# File lib/selenium/webdriver/opera/bridge.rb, line 46 def quit super ensure @service.stop end
Private Instance Methods
create_capabilities(opts)
click to toggle source
# File lib/selenium/webdriver/opera/bridge.rb, line 54 def create_capabilities(opts) original_opts = opts.dup arguments = opts.delete(:arguments) logging_level = opts.delete(:logging_level) logging_file = opts.delete(:logging_file) host = opts.delete(:host) port = opts.delete(:port) launcher = opts.delete(:launcher) profile = opts.delete(:profile) idle = opts.delete(:idle) display = opts.delete(:display) autostart = opts.delete(:autostart) no_restart = opts.delete(:no_restart) no_quit = opts.delete(:no_quit) product = opts.delete(:product) caps = opts.delete(:desired_capabilities) { Remote::Capabilities.opera } unless opts.empty? raise ArgumentError, "unknown option#{'s' if opts.size != 1}: #{opts.inspect}" end if arguments unless arguments.kind_of? Array raise ArgumentError, ':arguments must be an Array of Strings' end caps.merge! 'opera.arguments' => arguments.join(' ') end if logging_level unless LOGGING_LEVELS.include?(logging_level) raise ArgumentError, "unknown logging level #{logging_level.inspect}, available levels: #{LOGGING_LEVELS.inspect}" end caps.merge! 'opera.logging.level' => logging_level.to_s.upcase end caps.merge! 'opera.logging.file' => logging_file if logging_file caps.merge! 'opera.binary' => Opera.path if Opera.path caps.merge! 'opera.host' => host if host caps.merge! 'opera.port' => port.to_i if port caps.merge! 'opera.launcher' => launcher if launcher caps.merge! 'opera.profile' => profile if original_opts.has_key?(:profile) caps.merge! 'opera.idle' => !!idle unless idle.nil? caps.merge! 'opera.display' => display.to_i if display caps.merge! 'opera.autostart' => !!autostart unless autostart.nil? caps.merge! 'opera.no_restart' => !!no_restart unless no_restart.nil? caps.merge! 'opera.no_quit' => !!no_quit unless no_quit.nil? caps.merge! 'opera.product' => product if product caps end