Class: Maze::Client::Selenium::BitBarClient

Inherits:
BaseClient
  • Object
show all
Defined in:
lib/maze/client/selenium/bb_client.rb

Instance Method Summary collapse

Methods inherited from BaseClient

#handle_start_error, #start_driver

Instance Method Details

#create_capabilities(config) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/maze/client/selenium/bb_client.rb', line 19

def create_capabilities(config)
  capabilities = ::Selenium::WebDriver::Remote::Capabilities.new
  capabilities['bitbar_apiKey'] = config.access_key
  browsers = YAML.safe_load(File.read("#{__dir__}/bb_browsers.yml"))
  capabilities.merge! BitBarClientUtils.dashboard_capabilities
  capabilities['version'] = config.browser_version unless config.browser_version.nil?
  capabilities.merge! browsers[config.browser]
  capabilities.merge! JSON.parse(config.capabilities_option)
  capabilities['bitbar:options']['testTimeout'] = 900
  capabilities['acceptInsecureCerts'] = true unless Maze.config.browser.include? 'ie_'
  capabilities['bitbar_apiKey'] = config.access_key if Maze::Client::BitBarClientUtils.use_local_tunnel?
  config.capabilities = capabilities
end

#log_run_outroObject



33
34
35
36
37
38
39
40
# File 'lib/maze/client/selenium/bb_client.rb', line 33

def log_run_outro
  api_client = BitBarApiClient.new(Maze.config.access_key)

  $logger.info 'Selenium session created:'
  id = Maze.driver.session_id
  link = api_client.get_device_session_info(id)[:dashboard_link]
  $logger.info Maze::Loggers::LogUtil.linkify link, 'BitBar session(s)' if link
end

#start_sessionObject



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/maze/client/selenium/bb_client.rb', line 5

def start_session
  config = Maze.config
  if Maze::Client::BitBarClientUtils.use_local_tunnel?
    Maze::Client::BitBarClientUtils.start_local_tunnel config.sb_local,
                                                       config.username,
                                                       config.access_key
  end

  create_capabilities(config)

  selenium_url = Maze.config.selenium_server_url
  start_driver(config, selenium_url)
end

#stop_sessionObject



42
43
44
45
46
47
# File 'lib/maze/client/selenium/bb_client.rb', line 42

def stop_session
  super
  if Maze::Client::BitBarClientUtils.use_local_tunnel?
    Maze::Client::BitBarClientUtils.stop_local_tunnel
  end
end