Class: Selenium::WebDriver::BiDi

Inherits:
Object
  • Object
show all
Defined in:
lib/selenium/webdriver/bidi.rb,
lib/selenium/webdriver/bidi/session.rb

Defined Under Namespace

Classes: Session

Instance Method Summary collapse

Constructor Details

#initialize(url:) ⇒ BiDi



25
26
27
# File 'lib/selenium/webdriver/bidi.rb', line 25

def initialize(url:)
  @ws = WebSocketConnection.new(url: url)
end

Instance Method Details

#callbacksObject



33
34
35
# File 'lib/selenium/webdriver/bidi.rb', line 33

def callbacks
  @ws.callbacks
end

#closeObject



29
30
31
# File 'lib/selenium/webdriver/bidi.rb', line 29

def close
  @ws.close
end

#error_message(message) ⇒ Object



49
50
51
# File 'lib/selenium/webdriver/bidi.rb', line 49

def error_message(message)
  "#{message['error']}: #{message['message']}\n#{message['stacktrace']}"
end

#send_cmd(method, **params) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/selenium/webdriver/bidi.rb', line 41

def send_cmd(method, **params)
  data = {method: method, params: params.compact}
  message = @ws.send_cmd(**data)
  raise Error::WebDriverError, error_message(message) if message['error']

  message['result']
end

#sessionObject



37
38
39
# File 'lib/selenium/webdriver/bidi.rb', line 37

def session
  Session.new(self)
end