Вышла Selenide 7.7.0

Вышла Selenide 7.7.0

Fly me to the Moon
07.01.25

Всех с Новым Годом!

Мы начали год с релиза Selenide 7.7.0.


Запилили поддержку Moon

Когда-то ребята из 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, скачивать оттуда файлы и проверять буфер обмена - всё, что Селенид умеет делать с локальными браузерами.

Начать его использовать просто:

  1. замените зависимость com.codeborne:selenide:7.7.0 на com.codeborne:selenide-moon:7.7.0
  2. Пропишите в тестах URL вашего муна:
    Configuration.remote = "http://moon.aerokube.local/wd/hub";
    
  3. И всё. Можете использовать соответствующие методы в тестах:
    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

Внезапно выяснилось, что Селенидовские тесты (без прокси) не работают на Java 22.

Чтобы это починить, пришлось добавить BrowserUpProxy в runtime scope (даже если вы не используете прокси). Неидеально, но как быстрое решение сойдёт. Чтобы починить это более правильно, потребуется хорошенько порефакторить. :) Но в общем-то, для вас ничего не изменится.

См. issue 2910 и PR 2912.


Обновили MITM сертификат для Selenide proxy

А вот это было эпично. У тех, кто добавил самоподписанный сертификат BrowserUpProxy в свои доверенные сертификаты (хз зачем), тесты резко сломались с приходом 2025 года.

Оказалось, что когда-то давно, в 2015 году, кто-то в проекте BrowserMobProxy сгенерировал самоподписанный сертификат на 10 лет. И вот в начале января 2025 года он истёк. А проект несколько раз переходил из рук в руки. И авторов не найти. И документации не осталось. :)

Хорошо, что мы такие молодцы и быстренько научились генерировать новые сертификаты!


Большой привет тому, кому в январе 2035 снова придётся наступить на эти грабли. ;)

Вспомни о нас, когда откроешь вчерашний README в своей Intellij IDEA 2034.3.1 и запустишь тесты на Java 45 LTS, попивая ананасовый латте на своей веранде на Луне.

См. issue 457, PR 2930 и PR 458.


С Новым Годом!

Стройте планы, но позволяйте случайностям случаться.

Когда-нибудь всё будет хорошо.


Андрей Солнцев

ru.selenide.org

07.01.25