Class: CapybaraSetup

Inherits:
Object
  • Object
show all
Defined in:
lib/frameworks/capybara.rb

Constant Summary collapse

ERROR_MSG1 =
'Please ensure following environment variables are set ENVIRONMENT [int|test|stage|live], BROWSER[headless|ie|chrome|firefox] and PROXY_URL'
ERROR_MSG2 =
'Please ensure the following environment variables are set PLATFORM, REMOTE_URL, REMOTE_BROWSER (browser to use on remote machine), PROXY_URL (if required), REMOTE_BROWSER_PROXY (if required) and BROWSER_VERSION (if required)'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeCapybaraSetup

Returns a new instance of CapybaraSetup.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/frameworks/capybara.rb', line 11

def initialize

  capybara_opts = {:environment => ENV['ENVIRONMENT'], :proxy => ENV['PROXY_URL'], :remote_browser_proxy_url => ENV['REMOTE_BROWSER_PROXY_URL'], :platform => ENV['PLATFORM'], :browser_name => ENV['REMOTE_BROWSER'], :version => ENV['REMOTE_BROWSER_VERSION'], :url => ENV['REMOTE_URL'], :profile => ENV['FIREFOX_PROFILE'], :browser => ENV['BROWSER'], :javascript_enabled => ENV['CELERITY_JS_ENABLED']}

  #validate environment variables set using cucumber.yml or passed via command line
  validate_env_vars(capybara_opts)

  #update :browser value to be a symbol, required for Selenium
  capybara_opts[:browser] = capybara_opts[:browser].intern

  #Disable rack server
  Capybara.run_server = false

  #remove nil options
  capybara_opts.delete_if {|k,v| v.nil?}
  
  case capybara_opts[:browser] 
  when :headless then
    @driver = register_celerity_driver(capybara_opts)
  else
    @driver = register_selenium_driver(capybara_opts)
  end
end

Instance Attribute Details

#driverObject

Returns the value of attribute driver.



9
10
11
# File 'lib/frameworks/capybara.rb', line 9

def driver
  @driver
end