Мне нужно загрузить файл через форму поля файла. Локально он отлично работает. Но с помощью теста Selenium Grid необходимо загрузить файл на удаленный компьютер.file_detector error watir webdriver
Решение использует детектор файлов. Как описано здесь https://github.com/watir/watir-webdriver/issues/175 или здесь https://saucelabs.com/resources/selenium-file-upload
В моей hooks.rb
require "watir-webdriver"
client = Selenium::WebDriver::Remote::Http::Default.new
capabilities = Selenium::WebDriver::Remote::Capabilities.new(browser_name: ENV['BROWSER'].to_sym, :http_client => client)
browser = if ENV['REMOTE']
Watir::Browser.new(
:remote,
url: 'http://remoteurl:4444/wd/hub',
desired_capabilities: capabilities,
:http_client => client
)
else
Watir::Browser.new(ENV['BROWSER'].to_sym, :http_client => client)
end
browser.driver.file_detector = lambda do |args|
str = args.first.to_s
str if File.exist?(str)
end
Но когда я запускаю тесты, они в конечном итоге с ошибкой: undefined method `file_detector=' for #<Selenium::WebDriver::Driver:0x000000012902b0> (NoMethodError)
Как я могу загрузить файл с помощью Selenium Grid?