Добрый день,
Столкнулась с проблемой скачивания и сохранения файла.
Использую Selenide+Java, тесты запускаются через Jenkins в Docker, там Selenoid. Пока пытаюсь это воспроизвести на своей машине.
Скачивание файла производится в трёх шагах:
- Нажимаем название файла-link, где href=“javascript:void(0);”
<a role="textbox" href="javascript:void(0);" class="drilldown" name="Report Name" tabindex="-1">REPORT</a>
- В появившемся pop-up нажимаем Save.
<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only siebui-ctrl-btn appletButton" role="button"><span class="ui-button-text">Save</span></button>
- Открывается новое окно с default url. и pdf автомотически сохраняется в Downloads.
Применила к линку . download (), выходит ошибка, файл не сохранился.
Применила к кнопке Save, та же ошибка, файл не сохранился.
java.lang.IllegalArgumentException: The element does not have href attribute
Нашла подобные проблемы на сайте, такие как:
Были добавлены:
Configuration.fileDownload = PROXY;
Configuration.proxyEnabled = true;
На моей машине ip адрес автоматический.
Снова применила к линку . download (), выходит ошибка, файл не сохранился.
Применила к кнопке Save, та же ошибка, но файл СОХРАНИЛСЯ В Downloads.
java.io.FileNotFoundException: Failed to download file {By.xpath: ....} in 4000 ms.Intercepted 0 responses
at com.codeborne.selenide.impl.DownloadFileWithProxyServer.firstDownloadedFile(DownloadFileWithProxyServer.java:94)
at com.codeborne.selenide.impl.DownloadFileWithProxyServer.clickAndInterceptFileByProxyServer(DownloadFileWithProxyServer.java:49)
at com.codeborne.selenide.impl.DownloadFileWithProxyServer.download(DownloadFileWithProxyServer.java:33)
at com.codeborne.selenide.commands.DownloadFile.execute(DownloadFile.java:51)
at com.codeborne.selenide.commands.DownloadFile.execute(DownloadFile.java:18)
at com.codeborne.selenide.commands.Commands.execute(Commands.java:144)
at com.codeborne.selenide.impl.SelenideElementProxy.dispatchAndRetry(SelenideElementProxy.java:99)
at com.codeborne.selenide.impl.SelenideElementProxy.invoke(SelenideElementProxy.java:65).
Сохранение в папку Downloads не устраивает, т.к. в конце теста хочу иметь все файлы в build/reports/tests, чтобы все вытащить в Jenkins.
Если кто сталкивался с данной проблемой и решил ее, подскажите пожалуйста.
Еще другое волщебство в том, что на хроме отключено автоматическое сохранение в Downloads, надо вручную указывать папку, но при запуске тестов, файл автоматически скачивается туда(Downloads folder) без окна подтверждения сохранения.
Спасибо.