Вышла Selenide 7.9.0

Вышла Selenide 7.9.0

Опять скриншоты
19.04.25

Ну здорово, квадроберы!

У нас тут вышла версия Selenide 7.9.0.

Сами понимаете, пошлины в 104% на импорт новых фич ¯¯_(ツ)_/¯¯


Прикрепляем скриншоты в отчёт Jenkins и GitLab

Когда вы запускаете тесты, Селенид автоматические сохраняет скриншоты.

Путь к скриншоту добавляется в сообщение об ошибке. Это очень удобно при локальном запуске, но когда тесты запускаются на Gitlab, GitHub Actions или Jenkins, надо ещё как-то эти файлы сохранить (архивировать, загрузить артефакты и т.п.)

Проблема решалась парой строк в билд-скрипте, но теперь будет решаться ещё проще.

Теперь Селенид выводит все снятые скриншоты в консоль в таком формате:

[[ATTACHMENT|/path/to/screenshot.png]]
[[ATTACHMENT|/path/to/screenshot.html]]

Как минимум GitLab и Jenkins понимают этот формат и автоматически сохраняют эти файлы в результатах билда.

См. issue 2992. Спасибо Vivien Tintillier за PR 2998.


Клик с нажатыми клавишами

В Селениде есть метод, чтобы кликнуть по элементу не просто так, а через JavaScript. Иногда это помогает кликнуть элемент, который почему-то вебдрайвер считает невидимым и т.п.

А теперь таким образом можно сделать клик, “зажав” клавиши ALT, CTRL, SHIFT или META:

import static org.openqa.selenium.Keys.*;

$("button").click(usingJavaScript());
$("button").click(usingJavaScript().holdingKeys(META));
$("button").click(usingJavaScript().holdingKeys(ALT, SHIFT));

См. issue 2763 и PR 3008.

* Клавиша Meta признана экстремистской на территории российской федерации.


Обновились на Selenium 4.31.0

Там вроде ничего серьёзного не случилось. На всякий случай:

  • Обновили Selenium с 4.30.0 до 4.31.0
  • Обновили CDP с 134 до 135

См. PR 2994.


Проверка на пустой текст/значение

Уже лет 5 как Селенид ругается при попытке проверить пустую подстроку. И даже IDEA ругается на это:

IDEA error empty substring

Но оказалось, что мы забыли сделать такую же проверку для атрибутов: $.shouldHave(value("")). Это выражение тоже бессмысленно, т.к. любая строка содержит пустую подстроку.

См. PR 3007.

NB! Чтобы не наступать на эти грабли, рекомендуем прописать настройку

Configuration.textCheck = FULL_TEXT;

В Selenide 8.0.0 она будет включена по умолчанию.



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

ru.selenide.org

19.04.25