webdriver ruby Работа с полем загрузки файлов.
#1
Отправлено 27 октября 2011 - 10:50
Нужно загрузить файл и проверить его наличие в посте после добавления.
Там форма загрузки как тут помогите с решением этой задачи.
И в общем какие есть решения по загрузке файлов с использованием селениума в руби?
#2
Отправлено 27 октября 2011 - 11:06
driver.findElement(By.xpath("//input[@type='file']")).sendKeys("//path/to/some.file");
#3
Отправлено 27 октября 2011 - 11:20
element = driver.find_element(:id, 'само id').send_keys "текст"
Я сделал так в конкретно моём случает id=ext-gen1038 (но это кнопка же) и вместо текста добавил путь до файла и в итоге не работает
element = driver.find_element(:id, 'ext-gen1038').send_keys "//home/selenium/test/files/1.jpg"
#4
Отправлено 27 октября 2011 - 11:24
И что не работает именно? Ошибки? Какие?
#5
Отправлено 27 октября 2011 - 11:29
А на саму страницу можно посмотреть?
И что не работает именно? Ошибки? Какие?
там форма загрузки такая же как тут http://blogs.logicso...qa/archives/540
просто говорит что всё прошло а на самом деле открывает поиск почему то и картинку не добавляет
#6
Отправлено 27 октября 2011 - 11:29
Описание метода:
Пример использования:
def test_upload_image @selenium.open "/some_page" @selenium.attach_file("locator_of_an_input_field", "file:///C:/test.png") # Прикрепили файл @selenium.click "css=#colorBoxButton", :wait_for => :page # Нажали кнопку "Аплоад/загрузить/закачать/etc." и дожидаемся загрузки новой страницы @selenium.is_element_present(locator) # Проверяем наличие нужного элемента на странице, который обозначает загруженный файл end
Код только для наглядности привел, вероятно работать не будет :)
#7
Отправлено 27 октября 2011 - 11:35
это для Selenium RC пример :) а у нас-то тут WebDriver!
#8
Отправлено 27 октября 2011 - 11:36
#9
Отправлено 27 октября 2011 - 11:42
http://code.google.c...selenium/w/list
и Google. В основном, встречаются англоязычные how-to'шки
PS И еще в ноябре будет тренинг Баранцева Алексея - в шапке форума реклама крутится :)
http://software-test...&task=3&cid=123
#10
Отправлено 27 октября 2011 - 11:46
#11
Отправлено 27 октября 2011 - 11:57
stmark,
это для Selenium RC пример :) а у нас-то тут WebDriver!
Угумс, опять промахнулся :) У нас эти места делаются через поддержку первого Selenium'а.
В случае с простым вбиванием пути до файла или инжекцией скрипта по прежнему в некоторых браузерах из-за защиты не срабатывает такой подход.
И приходится сторонние инструменты использовать, например пресловутый AutoIt.
Вроде как перед созданием\слиянием во второй Selenium, говорилось, что упростят жизнь и в этом месте.
#12
Отправлено 27 октября 2011 - 12:11
http://stackoverflow...ver-file-upload
С использованием WebDriverBackedSelenium (но, по-моему, эта опция доступна только для Java)
http://stackoverflow...driver-and-java
и т.д.
Надо каждый раз отталкиваться от имеющегося веб-приложения
#13
Отправлено 27 октября 2011 - 12:21
выдаёт
syntax error, unexpected ')', expecting tASSOC
...ome/selenium/test/files/1.jpg).click
а если просто
element = driver.attach_file(:id => "ext-gen1038").click
то когда доход до выполнения этого шага ошибка:
undefined method `attach_file' for #<Selenium::WebDriver::Driver:0x7f8c0ac6c968 browser=:firefox> (NoMethodError)
Как я понимаю этот метод получается стандартно не предусмотрен?
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных