Class: Maze::Client::Selenium::BrowserStackClient
- Inherits:
-
BaseClient
- Object
- BaseClient
- Maze::Client::Selenium::BrowserStackClient
show all
- Defined in:
- lib/maze/client/selenium/bs_client.rb
Instance Method Summary
collapse
Methods inherited from BaseClient
#handle_start_error, #start_driver
Instance Method Details
#add_browser_capabilities(config, capabilities) ⇒ Object
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/maze/client/selenium/bs_client.rb', line 51
def add_browser_capabilities(config, capabilities)
browsers = YAML.safe_load(File.read("#{__dir__}/bs_browsers.yml"))
browser = browsers[config.browser]
if config.legacy_driver?
capabilities['browser'] = browser['browserName']
capabilities['browser_version'] = browser['browserVersion']
capabilities['device'] = browser['device']
capabilities['os'] = browser['os']
capabilities['os_version'] = browser['osVersion']
else
capabilities.deep_merge! browser
end
end
|
#create_capabilities(config) ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/maze/client/selenium/bs_client.rb', line 25
def create_capabilities(config)
if config.legacy_driver?
capabilities = ::Selenium::WebDriver::Remote::Capabilities.new
capabilities['browserstack.local'] = 'true'
capabilities['browserstack.localIdentifier'] = Maze.run_uuid
capabilities['browserstack.console'] = 'errors'
capabilities['acceptInsecureCerts'] = 'true'
capabilities.merge! JSON.parse(config.capabilities_option)
capabilities.merge! project_name_capabilities
add_browser_capabilities(config, capabilities)
else
raw_capabilities = {
'acceptInsecureCerts' => true,
'bstack:options' => {
'local' => 'true',
'localIdentifier' => Maze.run_uuid
}
}
raw_capabilities.deep_merge! JSON.parse(config.capabilities_option)
raw_capabilities.merge! project_name_capabilities
add_browser_capabilities(config, raw_capabilities)
capabilities = ::Selenium::WebDriver::Remote::Capabilities.new raw_capabilities
end
config.capabilities = capabilities
end
|
#log_run_outro ⇒ Object
72
73
74
|
# File 'lib/maze/client/selenium/bs_client.rb', line 72
def log_run_outro
log_session_info
end
|
#start_session ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/maze/client/selenium/bs_client.rb', line 7
def start_session
config = Maze.config
Maze::Client::BrowserStackClientUtils.start_local_tunnel config.bs_local,
Maze.run_uuid,
config.access_key
create_capabilities(config)
selenium_url = "https://#{config.username}:#{config.access_key}@hub.browserstack.com/wd/hub"
start_driver(config, selenium_url)
log_session_info
end
|