module Selenium::WebDriver::DriverExtensions::HasFileDownloads
def delete_downloadable_files
def delete_downloadable_files verify_enabled @bridge.delete_downloadable_files end
def download_file(file_name, target_directory)
def download_file(file_name, target_directory) verify_enabled response = @bridge.download_file(file_name) contents = response['contents'] File.open("#{file_name}.zip", 'wb') { |f| f << Base64.decode64(contents) } target_directory += '/' unless target_directory.end_with?('/') FileUtils.mkdir_p(target_directory) begin Zip::File.open("#{file_name}.zip") do |zip| zip.each { |entry| zip.extract(entry, "#{target_directory}#{file_name}") } end ensure FileUtils.rm_f("#{file_name}.zip") end end
def downloadable_files
def downloadable_files verify_enabled @bridge.downloadable_files['names'] end
def verify_enabled
def verify_enabled return if capabilities['se:downloadsEnabled'] raise Error::WebDriverError, 'You must enable downloads in order to work with downloadable files.' end