Watir не выберет файлы, которые мне нужно загрузить - PullRequest
1 голос
/ 28 июля 2011

Часть моего скрипта watir тестирует форму загрузки.Я могу открыть окно загрузки, но оно не перейдет в папку и не выберет нужный файл.Вместо этого сценарий завершится сбоем и выдаст ошибку: такого файла или каталога нет:если я делаю это правильно.Это использует Chromewatir на Mac между прочим.

browser.file_field(:name, "u").click
browser.file_field(:name, "u").set("/Users/Abdulla/Documents/Ads/1.jpg")

Должен ли путь начинаться с / Users?Или это должно быть / Документы?Потому что, когда он нажимает кнопку выбора файла на сайте, он открывается прямо в папке «Документы».

Ответы [ 3 ]

1 голос
/ 01 августа 2011

1) Я бы порекомендовал перейти на Watir-Webdriver для управления Chrome. Как указано в комментариях, проект chrome-watir на данный момент практически не работает

2) проверьте, что файл существует.

3) убедитесь, что пользователь, под которым работает watir (или watir-webdriver), имеет доступ к этому файлу. или рассмотрите возможность размещения файла в более общедоступном каталоге (с точки зрения прав доступа к каталогу)

4) Я не могу точно сказать, на Mac, но на ПК селектор файлов загрузки Chrome запоминает последний каталог, использованный для загрузки файлов, и открывает его в том же месте (предположительно, для удобства пользователя), однако указание полного пути к файлу не должно быть проблемой. Вы всегда можете попробовать сделать это вручную и посмотреть, работает ли он или нет, если вам нужно быть уверенным.

5) Я не уверен, что мы можем сказать вам, каков правильный путь, ведь вовлечены ваша система, ваши пользователи и ваш файл, вы бы знали гораздо больше о том, что вы делаете в этом отношении чем любой из нас.

0 голосов
/ 05 августа 2013

Вы можете использовать этот код, если вы используете 'watir-webdriver'.

Я думаю, вам не нужно щелкать по полю файла, нужно только указать путь к файлу.

local_file = "/Users/Abdulla/Documents/Ads/1.jpg"
puts (File.exists? local_file)
browser.file_field(:id => 'upComponent').set  local_file
0 голосов
/ 28 июля 2011

Я предполагаю, что /Users/Abdulla/Documents/Ads/1.jpg файл не существует, как говорится в сообщении об ошибке.

...