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.



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

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'], :job_name => ENV['SAUCE_JOB_NAME']}

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


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

  Capybara.run_server = false #Disable rack server

  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.



12
13
14
# File 'lib/frameworks/capybara.rb', line 12

def driver
  @driver
end