class Selenium::WebDriver::Remote::Bridge

def create_session(capabilities)

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