class SauceBindings::Session
Constants
- DATA_CENTERS
Attributes
data_center[R]
driver[R]
http_client[RW]
listener[RW]
options[R]
url[W]
Public Class Methods
new(options = nil, data_center: nil, http_client: nil, listener: nil)
click to toggle source
# File lib/sauce_bindings/session.rb, line 18 def initialize(options = nil, data_center: nil, http_client: nil, listener: nil) @options = options || Options.chrome @http_client = http_client @listener = listener @username = ENV['SAUCE_USERNAME'] @access_key = ENV['SAUCE_ACCESS_KEY'] self.data_center = data_center || :US_WEST end
Public Instance Methods
accessibility_results(js_lib: nil, frames: true, cross_origin: false)
click to toggle source
# File lib/sauce_bindings/session.rb, line 57 def accessibility_results(js_lib: nil, frames: true, cross_origin: false) sa11y = Sa11y::Analyze.new(driver, js_lib: js_lib, frames: frames, cross_origin: cross_origin) sa11y.results end
data_center=(data_center)
click to toggle source
# File lib/sauce_bindings/session.rb, line 47 def data_center=(data_center) unless DATA_CENTERS.key?(data_center) msg = "#{data_center} is an invalid data center; specify one of: #{DATA_CENTERS.keys}" raise ArgumentError, msg end SauceWhisk.data_center = data_center == :EU_CENTRAL ? :EU_VDC : data_center @data_center = data_center end
start()
click to toggle source
# File lib/sauce_bindings/session.rb, line 28 def start raise ArgumentError, "needs username; use `ENV['SAUCE_USERNAME']`" unless @username raise ArgumentError, "needs access_key; use `ENV['SAUCE_ACCESS_KEY']`" unless @access_key @driver = Selenium::WebDriver.for :remote, to_selenium end
stop(result)
click to toggle source
# File lib/sauce_bindings/session.rb, line 35 def stop(result) return if @driver.nil? SauceWhisk::Jobs.change_status(@driver.session_id, result) # Add output for the Sauce OnDemand Jenkins plugin # The first print statement will automatically populate links on Jenkins to Sauce # The second print statement will output the job link to logging/console puts "SauceOnDemandSessionID=#{@driver.session_id} job-name=#{@options.name}" puts "Test Job Link: https://app.saucelabs.com/tests/#{@driver.session_id}" @driver.quit end
to_selenium()
click to toggle source
# File lib/sauce_bindings/session.rb, line 66 def to_selenium caps = {url: url, desired_capabilities: options.capabilities} caps[:listener] = listener if listener caps[:http_client] = http_client if http_client caps end
url()
click to toggle source
# File lib/sauce_bindings/session.rb, line 62 def url @url ||= "https://#{@username}:#{@access_key}@#{DATA_CENTERS[data_center]}:443/wd/hub" end