Method: Selenium::WebDriver::Remote::Bridge#create_session

Defined in:
lib/selenium/webdriver/remote/bridge.rb

#create_session(capabilities) ⇒ Object

Creates session.

[View source]

75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# File 'lib/selenium/webdriver/remote/bridge.rb', line 75

def create_session(capabilities)
  response = execute(:new_session, {}, prepare_capabilities_payload(capabilities))

  @session_id = response['sessionId']
  capabilities = response['capabilities']

  raise Error::WebDriverError, 'no sessionId in returned payload' unless @session_id

  @capabilities = Capabilities.json_create(capabilities)

  case @capabilities[:browser_name]
  when 'chrome', 'chrome-headless-shell'
    extend(WebDriver::Chrome::Features)
  when 'firefox'
    extend(WebDriver::Firefox::Features)
  when 'msedge', 'MicrosoftEdge'
    extend(WebDriver::Edge::Features)
  when 'Safari', 'Safari Technology Preview'
    extend(WebDriver::Safari::Features)
  when 'internet explorer'
    extend(WebDriver::IE::Features)
  end
end