Class: Jasmine::Sauce::CI::SeleniumSauceLabsDriver

Inherits:
SeleniumDriver show all
Defined in:
lib/jasmine-selenium-sauce/drivers/selenium_saucelabs_driver.rb

Instance Method Summary collapse

Methods inherited from SeleniumDriver

#connect, #disconnect, #evaluate_js

Constructor Details

#initialize(sauce_config) ⇒ SeleniumSauceLabsDriver

Returns a new instance of SeleniumSauceLabsDriver.



6
7
8
# File 'lib/jasmine-selenium-sauce/drivers/selenium_saucelabs_driver.rb', line 6

def initialize(sauce_config)
  @driver = create_driver(sauce_config)
end

Instance Method Details

#create_driver(sauce_config) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/jasmine-selenium-sauce/drivers/selenium_saucelabs_driver.rb', line 10

def create_driver(sauce_config)
  timeout = sauce_config.selenium_client_timeout
  client = Selenium::WebDriver::Remote::Http::Default.new
  client.timeout = timeout
  options = {}
  options[:http_client] = client
  options[:url] = sauce_config.saucelabs_server_url
  options[:desired_capabilities] = generate_capabilities(sauce_config)
  Selenium::WebDriver.for :remote, options
end

#generate_capabilities(sauce_config) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/jasmine-selenium-sauce/drivers/selenium_saucelabs_driver.rb', line 21

def generate_capabilities(sauce_config)
  {
      'platform' => sauce_config.platform,
      'browserName' => sauce_config.browser,
      'browser-version' => sauce_config.browser_version,
      'record-screenshots' => sauce_config.record_screenshots,
      'record-video' => sauce_config.record_video,
      'idle-timeout' => sauce_config.idle_timeout,
      'max-duration' => sauce_config.max_duration,
      'name' => "Jasmine"
  }
end