Module: Selenium::WebDriver::Remote::Features
Relationships & Source Files | |
Defined in: | rb/lib/selenium/webdriver/remote/features.rb |
Constant Summary
-
REMOTE_COMMANDS =
# File 'rb/lib/selenium/webdriver/remote/features.rb', line 24{ upload_file: [:post, 'session/:session_id/se/file'], get_downloadable_files: [:get, 'session/:session_id/se/files'], download_file: [:post, 'session/:session_id/se/files'], delete_downloadable_files: [:delete, 'session/:session_id/se/files'] }.freeze
Instance Method Summary
Instance Method Details
#add_commands(commands)
[ GitHub ]# File 'rb/lib/selenium/webdriver/remote/features.rb', line 31
def add_commands(commands) @command_list = command_list.merge(commands) end
#command_list
[ GitHub ]# File 'rb/lib/selenium/webdriver/remote/features.rb', line 35
def command_list @command_list ||= REMOTE_COMMANDS end
#commands(command)
[ GitHub ]# File 'rb/lib/selenium/webdriver/remote/features.rb', line 39
def commands(command) command_list[command] end
#delete_downloadable_files
[ GitHub ]# File 'rb/lib/selenium/webdriver/remote/features.rb', line 69
def delete_downloadable_files execute :delete_downloadable_files end
#download_file(name)
[ GitHub ]# File 'rb/lib/selenium/webdriver/remote/features.rb', line 65
def download_file(name) execute :download_file, {}, {name: name} end
#downloadable_files
[ GitHub ]# File 'rb/lib/selenium/webdriver/remote/features.rb', line 61
def downloadable_files execute :get_downloadable_files end
#upload(local_file)
[ GitHub ]# File 'rb/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)
[ GitHub ]# File 'rb/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