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 31
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 35
def command_list
  @command_list ||= REMOTE_COMMANDS
end
commands(command) click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 39
def commands(command)
  command_list[command]
end
delete_downloadable_files() click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 69
def delete_downloadable_files
  execute :delete_downloadable_files
end
download_file(name) click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 65
def download_file(name)
  execute :download_file, {}, {name: name}
end
downloadable_files() click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 61
def downloadable_files
  execute :get_downloadable_files
end
upload(local_file) click to toggle source
# File lib/selenium/webdriver/remote/features.rb, line 43
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 53
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