module Selenium::WebDriver::Remote::Features
Constants
- REMOTE_COMMANDS
Public Instance Methods
add_commands(commands)
click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 32 def add_commands(commands) @command_list = command_list.merge(commands) end
command_list()
click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 36 def command_list @command_list ||= REMOTE_COMMANDS end
commands(command)
click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 40 def commands(command) command_list[command] end
delete_downloadable_files()
click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 70 def delete_downloadable_files execute :delete_downloadable_files end
download_file(name)
click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 66 def download_file(name) execute :download_file, {}, {name: name} end
downloadable_files()
click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 62 def downloadable_files execute :get_downloadable_files end
fire_session_event(event_type, payload = nil)
click to toggle source
Fires a custom session event to the remote server event bus. This allows test code to trigger server-side utilities that subscribe to the event bus.
@param [String] event_type The type of event (e.g., “test:failed”, “log:collect”) @param [Hash] payload Optional data to include with the event @return [Hash] Response data including success status, event type, and timestamp
@example Fire a simple event
driver.fire_session_event("test:started")
@example Fire an event with payload
driver.fire_session_event("test:failed", { testName: "LoginTest", error: "Element not found" })
# File lib/selenium/webdriver/remote/features.rb, line 92 def fire_session_event(event_type, payload = nil) params = {eventType: event_type} params[:payload] = payload if payload execute :fire_session_event, {}, params end
upload(local_file)
click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 44 def upload(local_file) unless File.file?(local_file) WebDriver.logger.error("File detector only works with files. #{local_file.inspect} isn`t a file!", id: :file_detector) raise Error::WebDriverError, "You are trying to upload something that isn't a file." end execute :upload_file, {}, {file: Zipper.zip_file(local_file)} end
upload_if_necessary(keys)
click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 54 def upload_if_necessary(keys) local_files = keys.first&.split("\n")&.filter_map { |key| @file_detector.call(Array(key)) } return keys unless local_files&.any? keys = local_files.map { |local_file| upload(local_file) } Array(keys.join("\n")) end