Как загрузить файл с помощью удаленного веб-драйвера, если файл для загрузки не является <input>файлом (без sendkeys) - PullRequest
0 голосов
/ 04 ноября 2019

Я выполняю все свои тесты селена на сетке селена. Моя сетка селена работает на рабочем столе Docker.

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

Поскольку загрузка файла не является полем ввода, я использовал класс робота для загрузки файла, и он отлично работает на моей локальной машине Windows.

StringSelection stringSelection = new StringSelection(filepath);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(stringSelection, null);
System.out.println(clipboard.getContents(stringSelection));
robot.delay(250);       
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_ENTER);
robot.delay(150);
robot.keyRelease(KeyEvent.VK_ENTER);
...