Перейти к содержимому

Selenium WebDriver: полное руководство
онлайн, начало 19 октября
Логи как инструмент тестировщика
онлайн, начало 22 октября
Первый Онлайн ИНститут Тестировщиков
онлайн, начало 15 октября
Тестирование REST API
онлайн, начало 22 октября
Фотография

File upload: каким инструментом пользоваться для указания пути к файлу

uploadwebdriver selenium autoit sikuli

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 evaiz

evaiz

    Новый участник

  • Members
  • Pip
  • 22 сообщений

Отправлено 06 Февраль 2018 - 14:53

Добрый день.

 

Есть web-сайт, который предполагает загрузку файла на сервер. В интерфейсе нужно нажать на кнопку Browse. При нажатии на эту кнопку открывается стандартный диалог выбора файла в Windows. Надо либо выбрать файл в дереве каталогов мышью, либо ввести путь к файлу в поле File name. Далее, надо нажать кнопку Open. WebDriver эти контролы в диалоге Windows не видит. Пока вижу два варианта для ввода полного пути к файлу и нажатия Open: 1) использовать Sikuli; 2) использовать AutoIt. Оба эти варианта нестабильны. Нужно думать о том, чтобы окна были не свернуты, к примеру - иначе их не увидит Sikuli. Ввод текста тоже нестабилен, если в момент ввода текста какой-нибудь мусор попал в clipboard. Есть еще вариант: заливать файл через какой-нибудь Post-запрос, но это трудно реализуемо, потому что на сайте есть аутентификация/шифрация по токену и реализовать это на клиентской стороне маловероятно.

 

В связи со всем этим вопрос: какими инструментами вы пользуетесь в подобных случаях? Есть ощущение, что в двух соснах плаваю, и есть какие-то более простые, но надежные решения.

 

Спасибо,

evaiz


  • 0

#2 baxatob

baxatob

    Опытный участник

  • Members
  • PipPipPipPip
  • 258 сообщений
  • ФИО:Юрий
  • Город:Riga

Отправлено 06 Февраль 2018 - 16:10

Самое надежное - спрофилировать браузер, чтобы он скачивал файл молча, без всяких диалогов.


  • 0

#3 evaiz

evaiz

    Новый участник

  • Members
  • Pip
  • 22 сообщений

Отправлено 06 Февраль 2018 - 17:14

Самое надежное - спрофилировать браузер, чтобы он скачивал файл молча, без всяких диалогов.

 

Нет, речь идет не о скачивании файла с сайта (file download), а о закачивании файла на сайт (file upload).


  • 0

#4 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 315 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 07 Февраль 2018 - 05:32

Окно выбора файла - это окно ОС, а не браузера, поэтому Селениум с ним и не взаимодействует.

Сам функционал загрузки скорее всего у вас сделан как input с type="file".

В селениуме - просто находите этот инпут и через sendKeys передаёте в него абсолютный путь к файлу, который надо загрузить.

Файл будет загружен без высплывающих окон ОС.


  • 0

#5 evaiz

evaiz

    Новый участник

  • Members
  • Pip
  • 22 сообщений

Отправлено 07 Февраль 2018 - 10:31

Спасибо. Этот инпут - с атрибутом readonly, и после того как я выполняю все действия "обычным" путем, в этот инпут попадает только имя файла, а не путь к нему. Видимо, путь где-то хранится, не отображается, но при этом используется при скачивании файла с диска. Попробую инъекцией избавиться от readonly и таки залить полный путь, чтобы посмотреть, что будет.


  • 0

#6 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 217 сообщений
  • ФИО:Алексей

Отправлено 08 Февраль 2018 - 06:03

Спасибо. Этот инпут - с атрибутом readonly, и после того как я выполняю все действия "обычным" путем, в этот инпут попадает только имя файла, а не путь к нему. Видимо, путь где-то хранится, не отображается, но при этом используется при скачивании файла с диска. Попробую инъекцией избавиться от readonly и таки залить полный путь, чтобы посмотреть, что будет.

Бывают такие реализации, где для загрузки файл есть JS обработчик. В этом случае инъекция может не помочь (будут пропущены каике-то шаги, которые выполняются при работе через JS). тогда сикули/робот  либо уточнять у разработчиков как и какой JS скрипт дернуть.


  • 0

#7 evaiz

evaiz

    Новый участник

  • Members
  • Pip
  • 22 сообщений

Отправлено 09 Февраль 2018 - 11:54

Спасибо.


  • 0


Selenium 2.0: стартовый уровень
онлайн, начало 9 ноября
Программирование на Java для тестировщиков
онлайн, начало 12 октября
Автоматизация функционального тестирования
онлайн, начало 5 октября
Selenium WebDriver: полное руководство
онлайн, начало 19 октября




Темы с аналогичным тегами uploadwebdriver, selenium, autoit, sikuli

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале