Вышла Selenide 5.7.0

Вышла Selenide 5.7.0

Скачивай меня нежно
07.02.20

Приветос!

Неожиданно нас завалили пуллреквестами с кучей полезных изменений. В этом сила опенсорса!

Мы подбили всё это в кучу и выпустили Selenide 5.7.0.

Мы добавили новую настройку Configuration.downloadsFolder

Раньше файлы скачивались в папку build/reports - в ту самую, где генерируются отчёты о прохождении тестов.
А людям иногда хочется разделять (и властвовать?).
Для них мы сделали отдельную настройку Configuration.downloadsFolder - именно туда теперь будут сохраняться файлы.

По умолчанию это папка build/downloads.

См. issue 1025.
Спасибо Dmytro Stekanov за PR 1041.


Скачиваем файлы в Configuration.downloadsFolder вместо ~/Downloads

Со скачиваниями файлов через прокси (Configuration.fileDownload=PROXY) есть ещё одна особенность.
Селенид-то свои файлы скачивает в build/reports (а теперь в build/downloads), но сам-то браузер тоже скачивает свою копию файла в папку ~/Downloads (или что там у него по умолчанию). Во-первых, тратится лишнее место на диске, а во-вторых, оттуда эти файлы никто автоматически не подчищает.

Теперь селенид изначально открывает браузер с такими настройками, чтобы он сразу скачивал файлы в папку build/downloads.

  1. Правда, пока только Chrome и Firefox.
  2. И только в случае, когда селенид сам открывает браузер.

См. issue 1057. Спасибо Dmitri Korobtsov за ревью PR 1058.


Добавили метод для переключения между окнами с кастомным таймаутом

Как вы знаете, в селениде давно есть методы для переключения между вкладками/окнами:

switchTo().window(3);

И этот метод даже настолько умный, что ждёт, пока окно появится. Но для него невозможно было задать таймаут: пресловутые 4 секунды использовались и здесь.

Теперь мы добавили новый метод, в котором вторым аргументом можно задать таймаут для загрузки нового окна:

switchTo().window(3,  Duration.ofSeconds(42));
switchTo().window(3,  Duration.ofMillis(16000));

См. issue 399.
Спасибо Dmytro Stekanov за PR 1054.


Добавили логирование атрибута “readonly”

См. issue 990.
Спасибо Dmytro Stekanov за PR 1042.


Исправили ошибку IndexOutOfBoundsException

… при поиске первого/последнего элемента пустой коллекции

См. issue 991.
Спасибо Dmytro Stekanov за PR 1043.


И целая пачка улучшений скриншотов

1. Вернули потерянные скриншоты в Screenshots.getLastScreenshot()

См. issue 814 и issue 880.
Спасибо Petro Ovcharenko за PR 1052.


2. Исправили ссылки на скриншоты в Jenkins

Теперь селенид умеет читать переменную среды (env variable) BUILD_URL, и вам больше не нужно прописывать BUILD_URL в system properties в ваших билд-скриптах.

Спасибо GongYi за PR 1049.


3. Исправили ссылки на скриншоты в Jenkins для мультимодульных проектов Maven

Спасибо GongYi за PR 1049.


Обновились на WebDriverManager 3.8.1

См. changelog (в т.ч. поддержка Edge 80).



Мероприятия

SeleniumCamp 2020

Приезжайте в Киев 21-22 февраля на конференцию SeleniumCamp!
Я буду выступать с двумя докладами:

и ещё будет неформальная сессия BOF про дальнейшие планы развития Селенида.

Митап про Селенид в Германии

Какие-то черти запилили митап про Селенид в Германии 12 февраля.
Приятно, чо.

Статистика

Количество скачиваний селенида за год выросло в 2.5 раза с 40 тысяч до 110 тысяч.


А количество уникальных айпишников перевалило за 20 тысяч:


Мы растём!


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

ru.selenide.org

07.02.20