Например работающий фрагмент кода на Mac OS: (автоматизация на Ruby, Cucumber, Watir)
в функции datapath мы видим абсолютный путь к файлу.
Далее в file_upload
через set делаем присваивание (можно еще через send_keys
)
def datapath(filename)
File.expand_path(File.join(File.dirname(__FILE__), '../../../../Test files/', filename))
end
def file_upload(file_name, folder)
upload_popover_element.when_visible(60)
file = @browser.file_field(:id, 'upload_dialog')
upload_file.set(datapath("#{folder}/#{file_name}"))
end
Проблема:
Система ожидает загрузки файла с абсолютного пути.
/Users/bla/RubymineProjects/testing/Test files/Eng test files/test_doc.doc (Errno::ENOENT)
А путь нужно брать с удаленной машины:
C:/Test files/Eng test files/test_doc.doc
Вопрос:
Как сделать так чтобы можно было загрузить файл через grid?
Какие еще есть методы?
Как делаете вы?
Делал по этим примерам работает только на Mac OS.
Selenium file upload feature
File Fields raise an error if path cannot be found
file_detector error watir webdriver