Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Выгрузка файла Selenium WebDriver (аналог Сhoose File)

robot-framework
webdriver
java
Теги: #<Tag:0x00007f7b63e8e578> #<Tag:0x00007f7b63e8e410> #<Tag:0x00007f7b63e8e2a8>

(Алексей Смиян) #1

Добрый день.
Есть страница, на которой нужно загрузить документ. Но после нажатия кнопки “Добавить документ” сразу открывается файловый менеджер Windows. И указать путь к файлу по сути некуда.
В Robot Framework у нас с этой задачей справлялась команда Chоose File. Подробности ее реализации пока не нашел.
Пока нашел такие варианты:

  1. Использовать скрипт Autolt для взаимодействия непосредственно с файловым окном Windows.
  2. Использовать JS что-бы сделать поле ввода пути к файлу видимым.
  3. Попробовать вариант который применял в тех местах, где поле ввода было видимым:
File file = new File(pathFile);
buttonSelectFile.sendKeys(file.getAbsolutePath());

Честно говоря, 1 и 2 вариант мне не очень нравятся. Загружать мне файл нужно неоднократно.
Не могу понять как же все-таки это делает Chose File из Selenium2Library во время запуска тестов в Robot Framework.

P.S. Сработал 3 вариант.


(Lev Yarushin) #2

Selenium2Library делает точно так же:
https://github.com/robotframework/Selenium2Library/blob/master/src/Selenium2Library/keywords/_formelement.py#L168

Обычно ещё нужно сделать видимым input который отвечает за загрузку файла (например в Angular), но это уже зависит от реализации работы с Webdriver конкретного фреймворка.