2015-05-20 3 views
0

Я пишу сценарий, где я нажимаю кнопку (Выбрать фото), которая открывает окно загрузки файла (проводника). Как мне установить имя моего файла?Загрузка файлов с использованием ruby ​​/ Selenium

Это код, я использую, чтобы нажать на кнопку Select Photo (рубин)

driver.find_element(:id, "fileUploadButton").click 

Я видел некоторые должности, которые говорят, что я не нужно нажимать на кнопку, но для отправки путь к файлу/изображению, которое я хочу загрузить. Итак, как я могу загрузить файл на c: \ temp \ mypicture.jpg?

Вот мой полный и простой код.

driver.navigate.to "http://blah blah" #the real site is an internal site 
driver.find_element(:id, "claimGiftButtonDesktop").click 
sleep 5 
driver.find_element(:id, "fileUploadButton").click 

После нажатия на кнопку fileUploadButton откроется окно проводника. Если я вручную нажму на Open или дважды щелкните по нему, появится мода загрузки, и изображение будет показано на веб-сайте.

Это IDE-запись, которая работает. У меня просто проблемы с переводом на рубин.

open /PromoSite 
click id=claimGiftButtonDesktop 
click id=fileUploadButton 
type id=fileInputElem  #Value C:\\temp\\file.jpg 
click id=viewProductPreviewButton 

Я также добавил снимок экрана. Я нажимаю кнопку и появляется загрузка файла. Это должно быть что-то легкое, поэтому я не должен фокусироваться на правильном идентификаторе. enter image description here

ответ

0

Как у меня нет кода, предположим, что мы тестируем https://encodable.com/uploaddemo/

@driver.navigate.to "https://encodable.com/uploaddemo/" 
element = @driver.find_element(:css, 'input[type=file]') 
element.send_keys "/full/path/to/file.jpg" 
@driver.find_element(:css, 'input[type=button]').click 

Таким образом, вы должны отправить полный путь в поле ввода и нажмите кнопку «отправить»

0

Я знаю, это наступает год, но я только начал писать сценарий в Selenium/Ruby, и мне потребовалось некоторое время, чтобы понять это, поэтому мне хотелось опубликовать мое решение (и это было так просто, как 2 строки!):

*первая строка вставляет путь к файлу без нажатия на кнопку просмотра, ключ для разделения каталогов с помощью двойной обратной косой черты \\

* вторая линия нажмет на кнопку Сохранить/Загрузить

driver.find_element(id: "Document_upload").send_keys("C:\\Users\\me\\Desktop\\my_file.txt") 
driver.find_element(id: "save").click 
Смежные вопросы