Всех с Новым Годом!
Мы начали год с релиза Selenide 7.7.0.
$.scroll()
с параметрамиКогда-то ребята из Aerokube сделали Selenoid - типа Selenium Grid на стероидах. Selenoid позволял запускать браузеры в докере, снимать видео и быстро стал популярным. И в Selenide 4 года назад мы запили поддержку Selenoid.
Потом ребята сделали Moon - нечто очень похожее, но в Kubernetes. И переключились на него. А теперь, похоже, поддержка Selenoid окончательно прекращена:
This repository has been archived by the owner on Dec 17, 2024. It is now read-only.
И мы вынуждены были наконец-то запилить поддержку Moon. :) Теперь вы можете, запуская браузеры с помощью Moon, скачивать оттуда файлы и проверять буфер обмена - всё, что Селенид умеет делать с локальными браузерами.
Начать его использовать просто:
com.codeborne:selenide:7.7.0
на com.codeborne:selenide-moon:7.7.0
Configuration.remote = "http://moon.aerokube.local/wd/hub";
clipboard().shouldHave(content("John Wick"));
File report = $("#report").download(using(FOLDER).withExtension("pdf"));
См. issue 2304 и PR 2924.
$.scroll()
с параметрамиВ Селениде уже были методы для прокручивания страницы: $.scrollTo()
, $.scrollIntoView()
, $.scrollIntoCenter()
.
Теперь появился ещё один, более универсальный метод $.scroll(options)
, которому можно пихнуть в параметры направление и расстояние в пикселях:
$("#up").scroll(direction(UP));
$("#left").scroll(direction(LEFT).distance(1400));
См. issue 2769. Спасибо donnieHub за PR 2809.
Внезапно выяснилось, что Селенидовские тесты (без прокси) не работают на Java 22.
Чтобы это починить, пришлось добавить BrowserUpProxy в runtime scope (даже если вы не используете прокси). Неидеально, но как быстрое решение сойдёт. Чтобы починить это более правильно, потребуется хорошенько порефакторить. :) Но в общем-то, для вас ничего не изменится.
См. issue 2910 и PR 2912.
А вот это было эпично. У тех, кто добавил самоподписанный сертификат BrowserUpProxy в свои доверенные сертификаты (хз зачем), тесты резко сломались с приходом 2025 года.
Оказалось, что когда-то давно, в 2015 году, кто-то в проекте BrowserMobProxy сгенерировал самоподписанный сертификат на 10 лет. И вот в начале января 2025 года он истёк. А проект несколько раз переходил из рук в руки. И авторов не найти. И документации не осталось. :)
Хорошо, что мы такие молодцы и быстренько научились генерировать новые сертификаты!
Большой привет тому, кому в январе 2035 снова придётся наступить на эти грабли. ;)
Вспомни о нас, когда откроешь вчерашний README в своей Intellij IDEA 2034.3.1 и запустишь тесты на Java 45 LTS, попивая ананасовый латте на своей веранде на Луне.
См. issue 457, PR 2930 и PR 458.
С Новым Годом!
Стройте планы, но позволяйте случайностям случаться.
Когда-нибудь всё будет хорошо.
07.01.25