class Appium::SauceLabs

Attributes

access_key[R]

Access Key for use on Sauce Labs. Set ‘false` to disable Sauce, even when SAUCE_ACCESS_KEY is in ENV.

endpoint[R]

Override the Sauce Appium endpoint to allow e.g. TestObject tests. Default is ‘ondemand.saucelabs.com:443/wd/hub’.

username[R]

Username for use on Sauce Labs. Set ‘false` to disable Sauce, even when SAUCE_USERNAME is in ENV.

Public Class Methods

new(appium_lib_opts) click to toggle source

Create a SauceLabs instance to manage sauce labs related attributes.

@param [Hash] appium_lib_opts Appium library parameter @return [Appium::SauceLabs]

@example

opts_blank = {}
sauce_labs_blank = Appium::SauceLabs.new(opts_blank)
sauce_labs_blank.username   #=> nil
sauce_labs_blank.access_key #=> nil
sauce_labs_blank.endpoint   #=> "ondemand.saucelabs.com:443/wd/hub"

opts = { sauce_username: "user-name",
         sauce_access_key: "access-key-to-sauce-labs",
         sauce_endpoint: "ondemand.other_saucelabs.com:443/wd/hub",
       }
sauce_labs = Appium::SauceLabs.new(opts)
sauce_labs.username   #=> "user-name"
sauce_labs.access_key #=> "access-key-to-sauce-labs"
sauce_labs.endpoint   #=> "ondemand.other-saucelabs.com:443/wd/hub"
# File lib/appium_lib/sauce_labs.rb, line 47
def initialize(appium_lib_opts)
  @username   = appium_lib_opts.fetch :sauce_username, ENV.fetch('SAUCE_USERNAME', nil)
  @username   = nil if !@username || (@username.is_a?(String) && @username.empty?)

  @access_key = appium_lib_opts.fetch :sauce_access_key, ENV.fetch('SAUCE_ACCESS_KEY', nil)
  @access_key = nil if !@access_key || (@access_key.is_a?(String) && @access_key.empty?)

  @endpoint   = appium_lib_opts.fetch :sauce_endpoint, ENV.fetch('SAUCE_ENDPOINT', nil)
  @endpoint   = 'ondemand.saucelabs.com:443/wd/hub' if !@endpoint || (@endpoint.is_a?(String) && @endpoint.empty?)
end

Public Instance Methods

sauce_server_url?() click to toggle source

Return true if an instance of Appium::SauceLabs has sauce_username and sauce_access_key. @return [Boolean]

@example

sauce_labs_blank.sauce_server_url? #=> false
sauce_labs.sauce_server_url?       #=> true
# File lib/appium_lib/sauce_labs.rb, line 67
def sauce_server_url?
  !username.nil? && !access_key.nil?
end
server_url() click to toggle source

Return a particular server url to access to. Default is the local address. @return [String]

@example

sauce_labs_blank.server_url #=> "http://127.0.0.1:4723/wd/hub"
sauce_labs.server_url #=> "https://user-name:access-key-to-sauce-labs@ondemand.other-saucelabs.com:443/wd/hub"
# File lib/appium_lib/sauce_labs.rb, line 80
def server_url
  sauce_server_url? ? "https://#{username}:#{access_key}@#{endpoint}" : 'http://127.0.0.1:4723/wd/hub'
end