Skip to content

Commit

Permalink
release Selenide 7.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
asolntsev committed Jan 7, 2025
1 parent 0cd4e7c commit 690723f
Show file tree
Hide file tree
Showing 4 changed files with 116 additions and 4 deletions.
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
SELENIDE_VERSION: "7.6.0"
SELENIDE_VERSION: "7.7.0"

# This is the default format.
# For more see: https://github.com/mojombo/jekyll/wiki/Permalinks
Expand Down
4 changes: 2 additions & 2 deletions _includes/main_menu.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@

{% if page.show_news %}
<div class="news">
<div class="news-line news-title"><a href="/2025/01/03/year-summary/">Итоги года</a></div>
<div class="news-line news-link">2024</div>
<div class="news-line news-title"><a href="/2025/01/07/selenide-7.7.0/">Вышла Selenide 7.7.0</a></div>
<div class="news-line news-link">Fly me to the Moon</div>
</div>
{% endif %}

Expand Down
112 changes: 112 additions & 0 deletions _posts/2025-01-07-selenide-7.7.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
---
layout: post
title: "Вышла Selenide 7.7.0"
description: ""
category:
header-text: "Fly me to the Moon"
tags: []
---
{% include JB/setup %}

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

Мы начали год с релиза [Selenide 7.7.0](https://github.com/selenide/selenide/milestone/216?closed=1).

* [Поддержка Moon](#moon)
* [Метод `$.scroll()` с параметрами](#scroll-with-parameters)
* [Починили Селенид на Java 22](#fix-selenide-on-java-22)
* [MITM сертификат для Selenide proxy](#update-proxy-mitm-certificate)

<br>

### Запилили поддержку Moon {#moon}

Когда-то ребята из Aerokube сделали Selenoid - типа Selenium Grid на стероидах. Selenoid позволял запускать браузеры в
докере, снимать видео и быстро стал популярным. И в Selenide 4 года назад мы запили поддержку Selenoid.

Потом ребята сделали Moon - нечто очень похожее, но в Kubernetes. И переключились на него.
А теперь, похоже, поддержка Selenoid окончательно [прекращена](https://github.com/aerokube/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 вашего муна:
```java
Configuration.remote = "http://moon.aerokube.local/wd/hub";
```
3. И всё. Можете использовать соответствующие методы в тестах:
```java
clipboard().shouldHave(content("John Wick"));
File report = $("#report").download(using(FOLDER).withExtension("pdf"));
```

См. [issue 2304](https://github.com/selenide/selenide/issues/2304) и [PR 2924](https://github.com/selenide/selenide/pull/2924).

<br>

### Добавили метод `$.scroll()` с параметрами {#scroll-with-parameters}

В Селениде уже были методы для прокручивания страницы: `$.scrollTo()`, `$.scrollIntoView()`, `$.scrollIntoCenter()`.

Теперь появился ещё один, более универсальный метод `$.scroll(options)`, которому можно пихнуть в параметры направление
и расстояние в пикселях:

```java
$("#up").scroll(direction(UP));
$("#left").scroll(direction(LEFT).distance(1400));
```

См. [issue 2769](https://github.com/selenide/selenide/issues/2769).
Спасибо [donnieHub](https://github.com/donnieHub) за [PR 2809](https://github.com/selenide/selenide/pull/2809).

<br>

### Починили работу Селенид на Java 22 {#fix-selenide-on-java-22}

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

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

См. [issue 2910](https://github.com/selenide/selenide/issues/2910) и [PR 2912](https://github.com/selenide/selenide/pull/2912).

<br>

### Обновили MITM сертификат для Selenide proxy {#update-proxy-mitm-certificate}

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

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

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

<br>

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

> Вспомни о нас, когда откроешь вчерашний README в своей Intellij IDEA 2034.3.1 и запустишь тесты на Java 45 LTS, попивая
> ананасовый латте на своей веранде на Луне.
См. [issue 457](https://github.com/valfirst/browserup-proxy/issues/457),
[PR 2930](https://github.com/selenide/selenide/pull/2930) и [PR 458](https://github.com/valfirst/browserup-proxy/pull/458).

<br>


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

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

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

<br>

[Андрей Солнцев](http://asolntsev.github.io/)

ru.selenide.org
2 changes: 1 addition & 1 deletion quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ cssClass: howto
header-text: >
<h4>Начать использовать Selenide очень просто. Не нужно читать тонны документации. Не нужно покупать тренинг.</h4>
Просто добавь в проект <a href="https://search.maven.org/remotecontent?filepath=com/codeborne/selenide/7.6.0/selenide-7.6.0.jar">selenide.jar</a> (и его зависимости) и начинай писать тест.<br>
Просто добавь в проект <a href="https://search.maven.org/remotecontent?filepath=com/codeborne/selenide/7.7.0/selenide-7.7.0.jar">selenide.jar</a> (и его зависимости) и начинай писать тест.<br>
---
{% include JB/setup %}
Expand Down

0 comments on commit 690723f

Please sign in to comment.