Вышла Selenide 5.24.0

Судный день

Блог

Вышла Selenide 5.24.0

Судный День

Добрый вечер!

29 августа 1997 года компьютерная система Скайнет вышла из-под контроля и нанесла ядерный удар по России. Так началась война между терминаторами и человечеством.

С тех прошло 24 года, с ума сойти! Мы живём в будущем! И пока ещё мы управляем компьютерами.

Я каждый год отмечаю этот день, и сегодня в честь праздника мы зарелизили Selenide 5.24.0.


Добавили метод $.execute(Command, Duration)

для запуска самопальных команд с заданным таймаутом.

В Selenide 5.3.0 мы добавили возможность легко запускать самопальные команды с помощью метода $.execute(). Но тогда не было возможности задать кастомный таймаут. Теперь можно.

См. issue 1525.
Спасибо Evgenii Plugatar за PR 1531


Методы $.execute(Command) и $.execute(Command, Duration) больше не передают параметры заданной команде

Это мелочь, но теоретически может сломать ваши самопальные команды, если они у вас есть. Будьте начеку.

См. issue 1527.
Спасибо Evgenii Plugatar за PR 1535


Исправили условия Or и And при работе с несуществующими элементами

См. issue 1534.
Спасибо Evgenii Plugatar за PR 1539


Теперь условия Or и And не позволяют передать пустой список условий

Надеюсь, вы и не пытались, потому что это лишено смысла. Но если раньше Селенид это позволял и тесты могли быть ложно зелёными, то теперь вы словите ошибку в рантайме.
Спасибо Evgenii Plugatar за PR 1542


Переименовали методы Condition.applyNull() и CollectionCondition.applyNull()

Когда-то по молодости я назвал этот метод applyNull, но это название вводит в заблуждение. Этот метод говорит о том, выполняется ли условие, если искомый элемент вообще не найден, и теперь он называется missingElementSatisfiesCondition() - длинновато, зато точно.

См. issue 1541.
Спасибо Evgenii Plugatar за PR 1544


Убрали из логов длинные бесполезные стектрейсы при закрытии вебдрайвера

Как вы знаете, Селенид сам закрывает вебдрайвер в тот момент, когда он больше не нужен.
Для этого Селенид запускает всякие хитрые потоки, которые в фоновом режиме следят со состоянием всех открытых вебдрайверов.
И когда наступает момент, закрывают ненужные.

Но так бывает, что к моменту закрытия вебдрайвера его уже успел закрыть какой-то другой поток. И тогда Селенид мог плеваться в лог длинными страшными стектрейсами. Это не опасно, но никто ведь не любит спам.

В общем, теперь Селенид немного сократил объём спама. :)

См. issue 1467 и PR 1540


Исправили поиск shadow root внутри веб-элементов

См. issue 1532 и PR 1536


selenide-selenoid 1.1.5

Мы выпустили selenide-selenoid:1.1.5 с обновлением на Selenide 5.24.0


selenide-appium 1.6.8

Мы выпустили selenide-appium:1.6.8 с обновлением на Selenide 5.24.0



UPD: Selenide 5.24.1

WebDriverManager - это библиотека (которую Селенид использует под капотом) для скачивания бинарников вебдрайвера. Недавно они выпустили большое обновление 5.0.0 с кучей новых фич. Возможно, мы захотим использовать какие-то из этих фич в Селениде, но пока что мы по-быстрому выпустили Selenide 5.24.1 с обновлением на WebDriverManager 5.0.1.

Спасибо Anil Kumar Reddy Gaddam за PR 1531.


UPD: Selenide 5.24.2

Оказалось, что зависимость commons-lang3 (которую Селенид используем под капотом) больше прилетает транзитивно из WDM 5.x. А раньше прилетала из WDM 4.x. Поэтому нам пришлось по-быстрому добавить явную зависимость commons-lang3 и зарелизить Selenide 5.24.2.

См. issue 1551.


UPD: Selenide 5.24.3

Обновились на WebDriverManager 5.0.2, теперь смогли исключить docker-java и некоторые другие лишние зависимости.


UPD: Selenide 5.24.4

Обновились на WebDriverManager 5.0.3, в котором вышел срочный фикс для нового Firefox 92.0 на маке. И кое-что ещё по мелочам.



Ссылки


Статистика использования Селенида

249+ тысяч скачиваний в месяц. Чуть-чуть не хватило до 250K.

Аста ли виста, бэйби!


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

ru.selenide.org

The project is maintained by