Как загрузить файл с селеном в bamoo без головы - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь проверить загрузку файла через браузер в селене.

Установка : Eclipse на Ma c, Selenium в Bamboo на Linux, Java, Chrome

На моем сайте загрузка файла работает кнопкой. Эта кнопка открывает диалоговое окно загрузки файлов из собственного браузера (без ввода; кнопка вызывает JS при щелчке по ng).

<button class="cs-button-link-01" ng-click="uploadFile()" ng-if="context.permissions.edit">
    <i class="cs-icon cs-icon-circle-plus cs-iconsize-200"></i>&nbsp;
    <span cs-translate="'csAssetFileListWidget.AddFileBtn'">File</span>
</button>

Таким образом, загрузка файла работает нормально для ma c и linux при Моя мама c с использованием класса робота, как в Загрузка файла с использованием Selenium WebDriver и Java Класс робота для linux, он хорошо работает с:

robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.delay( 1000 * 4 );
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);

Но теперь я есть проблема, что я хочу запустить его на Bamboo (на Linux, без головы). (AutoIt не может работать, потому что его 4 Windows)

У вас есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 24 апреля 2020

должен быть элемент ввода где-то ниже или в конце тела. Он примет файл, который выбирается из собственного окна «Выбор файла», которое отличается для каждой ОС.

Если вы отправите путь к файлу для этого входа, активируется вход. Пример:

<input type="text" id="drive_hist_state" name="drive_hist_state" style="display:none;">


WebElement input = driver.findElement(By.id("drive_hist_state"));
input.sendKeys("/path/to/file/test.txt");
...