Method: Celerity::Browser#initialize

Defined in:
lib/celerity/browser.rb

#initialize(opts = {}) ⇒ Celerity::Browser

Creates a browser object.

Parameters:

  • opts (Hash) (defaults to: {})

    a customizable set of options

Options Hash (opts):

  • :browser (:internet_explorer, :firefox, :firefox3) — default: :firefox3

    Set the BrowserVersion used by HtmlUnit. Defaults to Firefox 3.

  • :charset (String) — default: "UTF-8"

    Specify the charset that webclient will use for requests.

  • :css (Boolean) — default: true

    Enable/disable CSS. Enabled by default.

  • :ignore_pattern (Regexp)

    See Browser#ignore_pattern=

  • :javascript_enabled (Boolean) — default: true

    Enable/disable JavaScript evaluation. Enabled by default.

  • :javascript_exceptions (Boolean) — default: false

    Raise exceptions on script errors. Disabled by default.

  • :log_level (Symbol) — default: :warning

    @see log_level=

  • :proxy (String) — default: nil

    Proxy server to use, in address:port format.

  • :refresh_handler (:immediate, :waiting, :threaded) — default: :immediate

    Set HtmlUnit’s refresh handler.

  • :render (:html, :xml) — default: :html

    What DOM representation to send to connected viewers.

  • :resynchronize (Boolean) — default: false

    Use HtmlUnit::NicelyResynchronizingAjaxController to resynchronize Ajax calls.

  • :secure_ssl (Boolean) — default: true

    Enable/disable secure SSL. Enabled by default.

  • :status_code_exceptions (Boolean) — default: false

    Raise exceptions on failing status codes (404 etc.). Disabled by default.

  • :user_agent (String)

    Override the User-Agent set by the :browser option

  • :default_wait (Integer)

    The default number of seconds to wait when Browser#wait is called.

  • :viewer (String, false) — default: "127.0.0.1:6429"

    Connect to a CelerityViewer if available.

Raises:

  • (ArgumentError)

See Also:



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/celerity/browser.rb', line 57

def initialize(opts = {})
  unless opts.is_a?(Hash)
    raise TypeError, "wrong argument type #{opts.class}, expected Hash"
  end

  unless (render_types = [:html, :xml, nil, 'html', 'xml']).include?(opts[:render])
    raise ArgumentError, "expected one of #{render_types.inspect} for key :render"
  end

  @options = opts.dup # keep the unmodified version around as well
  opts     = opts.dup # we'll delete from opts, so dup to avoid side effects

  @render_type   = opts.delete(:render)    || :html
  @charset       = opts.delete(:charset)   || "UTF-8"
  @page           = nil
  @error_checkers = []
  @browser        = self # for Container#browser

  setup_webclient opts
  setup_viewer opts.delete(:viewer)

  self.log_level = opts.delete(:log_level) || :off

  raise ArgumentError, "unknown option #{opts.inspect}" unless opts.empty?
end