t.me/atinfo_chat Telegram группа по автоматизации тестирования

WebDriverRunner.setWebDriver(getChrome()); как проверить что документ загружен

Теги: #<Tag:0x00007f748389c520> #<Tag:0x00007f748389c430>

private static WebDriver getChrome () {
final ChromeDriverService service = new ChromeDriverService.Builder()
.usingDriverExecutable(new File(“C:/Users/serzhan/Desktop/Selenium/chromedriver.exe”))
.usingAnyFreePort()
.build();
final ChromeOptions option = new ChromeOptions();
option.addArguments("–always-authorize-plugins", “–start-maximized”, “–scroll-end-effect=1”);
EventFiringWebDriver newDriver = new EventFiringWebDriver(new ChromeDriver(service, option));
return newDriver;
}

как можно изменить в настройках ChromeDriver Расположение скачиваемых файлов
потом через Джаву проверить что документ загружен

Подключи себе библиотеку io.github.bonigarcia:webdrivermanager:1.6.0

И в коде напиши “ChromeDriverManager.getInstance().setup();”

И забудь о скачивании экзешников)

Правильно я понимаю, что ты используешь Selenide?
Тогда всё гораздо проще. Не надо менять никаких настроек вебдрайвера. Просто используй метод download:

File downloadedFile = $("#loadReport").download();

Если эта операция прошла без ошибок, значит, файл скачался. Дальше можешь проверять содержимое файла, если надо.

мне кидает на исключение
java.lang.IllegalArgumentException: The element does not have href attribute: Скачать

только через href можно скачивать ?

может я не правильно делаю ((((

Да, по умолчанию селенид скачивает файлы через href. Это самый надёжный способ. Поищите, может, у вас всё-таки есть href, просто у какого-нибудь другого соседнего элемента?

Если всё-таки нет, то есть и второй способ: через прокси-сервер. Установите настройку Configuration.downloadMode = PROXY (как-то так, наизусть не помню).