Спасибо, указание прокси через WebDriverRunner.setProxy
помогло. Теперь страницы открываются через прокси.
Но со скачиванием файла словил ещё одну проблему.
// Проверяем скачивание файла по кнопке "Скачать Excel"
try {
File excel = $("button.download-excel").download();
System.out.println(excel.exists());
System.out.println(excel.length());
} catch (FileNotFoundException exception) {
System.out.println("Невозможно скачать файл \"План проверок\"->\"скачать Excel\"");
System.out.println(exception);
}
В результате выполнения данного теста файл скачивается, но ловлю exception, в котором 2 успешно выполненных запроса
Невозможно скачать файл "План проверок"->"скачать Excel"
java.io.FileNotFoundException: Failed to download file {button.download-excel} in 15000 ms.Intercepted 2 responses.
http://***.adc.spb.ru/examinations/excel/ -> 200 "OK" {X-Cache=MISS from ***.iac.spb.ru, Server=nginx/1.14.1, Cache-Control=private, must-revalidate, X-Cache-Lookup=MISS from ***.iac.spb.ru:3128, Pragma=no-cache, Expires=-1, Proxy-Connection=Close, Content-Length=76, Date=Tue, 27 Nov 2018 13:47:13 GMT, Content-Type=applications/json, Via=1.1 ***.iac.spb.ru (squid/3.3.8)} applications/json (76 bytes)
http://***.adc.spb.ru/photos/documents/download6ac551fb0732b987850051189e14e14d.xlsx -> 200 "OK" {Accept-Ranges=bytes, X-Cache=MISS from ***.iac.spb.ru, Server=nginx/1.14.1, ETag="5bfd4af2-b639", X-Cache-Lookup=MISS from ***.iac.spb.ru:3128, Last-Modified=Tue, 27 Nov 2018 13:47:30 GMT, Content-Length=46649, Proxy-Connection=Keep-Alive, Date=Tue, 27 Nov 2018 13:47:13 GMT, Content-Type=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, Via=1.1 ***.iac.spb.ru (squid/3.3.8)} application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (44645 bytes)
Проблема оказалась в том, что метод .download() определяет скачиваемые файлы по http-заголовку Content-Disposition
. Собственно, на описание того как работает .download() нашёл только в новости про версию selenide-3.9.1 - Вышла Selenide 3.9.1
Мне кажется, что это описание стоит перенести в документацию SelenideElement · Selenide User Guide, т.к. не все разработчики заморачиваются с отправлением всех нужных http-заголовков.