123456789_123456789_123456789_123456789_123456789_

Class: Selenium::WebDriver::BiDi

Class Method Summary

Instance Method Summary

Constructor Details

.new(url:) ⇒ BiDi

[ GitHub ]

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

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

Instance Method Details

#add_callback(event, &block)

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi.rb', line 41

def add_callback(event, &block)
  @ws.add_callback(event, &block)
end

#callbacks

[ GitHub ]

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

def callbacks
  @ws.callbacks
end

#close

[ GitHub ]

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

def close
  @ws.close
end

#error_message(message)

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi.rb', line 61

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

#remove_callback(event, id)

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi.rb', line 45

def remove_callback(event, id)
  @ws.remove_callback(event, id)
end

#send_cmd(method, **params)

[ GitHub ]

  
# File 'rb/lib/selenium/webdriver/bidi.rb', line 53

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

#session

[ GitHub ]

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

def session
  @session ||= Session.new(self)
end