Привет, друзья!
Ой, сколько всего хочется рассказать, аж не терпится!
Но начнём с релиза 4.11.0
Итак, какие обновления прилетели в Selenide 4.11.0?
Обновились до selenium 3.11.0
Главные изменения в этом релизе связаны с браузером Internet Explorer и платформой Windows.
А также:
- удалены методы
startClient
иstopClient
в классеRemoteWebDriver
. - удалены свойства
SafariOptions.cleanSession
иSafariOptions.port
Добавили условие textsInAnyOrder
Теперь можно писать такие проверки:
$$.shouldHave(textsInAnyOrder("Push", "Image", "Email"))
См. issue 478 – спасибо hyunil-shin за PR 589
Теперь можно указать местоположение браузера на экране
Как обычно, либо через системное свойство:
-Dselenide.browserPosition=300x200
либо напрямую в коде:
Configuration.browserPosition = "400x300";
См. issue 687 – спасибо Aliaksandr Rasolka за PR 687
Теперь Selenide умеет скачивать файлы с русскими буквами в названии
Теперь такой код будет корректно работать:
File file = $("a").download();
assertThat(file.getName()).isEqualTo("файл-с-русским-названием.txt");
А раньше Selenide создавал файл с именем -------.txt
См. ошибку 688 и PR 689
Добавили возможность передавать chromeoptions.prefs
По аналогии с chromeoptions.args
, теперь можно передавать такой параметр в тесты:
-Dchromeoptions.prefs=profile.block_third_party_cookies=false,profile.avatar_index=26
См. PR 692 - спасибо Tymur Kubai
Теперь вы можете добавлять в прокси-сервер свои перехватчики для запросов/ответов
Вы давно это просили, и вот мы наконец сделали!
getSelenideProxy().addRequestFilter("proxy-usages.request", new RequestFilter() {...});
getSelenideProxy().addResponseFilter("proxy-usages.response", new ResponseFilter() {...});
В RequestFilter
и ResponseFilter
вы можете делать буквально всё: логировать, засекать время, получать http статусы,
менять тело запросов или ответов, внедрять свой JavaScript в страницы. В общем, режим бога.
Подробнее о богатых возможностях прокси бог рассказывал тут.
Надеюсь, вы используете это во благо и сделаете свои тесты быстрее и надёжнее.
Как всегда, пример использования вы можете найти в тестах самого селенида
NB! Сейчас прокси-сервер запускается только при включенной настройке Configuration.fileDownload=PROXY
.
Возможно, стоит развязать эти две настройки. Ждём от вас обратной связи! Смело рассказывайте, получилось ли у вас использовать прокси.
Метод $.followLink()
помечен как deprecated
Никто уже не помнит, зачем он вообще бы создан 7 лет назад. Сейчас вместо него можно использовать обычный $.click()
.
Исправили случайный NullPointerException в SelenideReport
Никто не знает, как эту ошибку повторить, но на всякий случай исправили.
Спасибо dkorobtsov за PR 686
Исправили ошибку, когда при софт ассертах не делался скриншот
См. issue 655 - спасибо Boris Osipov за PR 659
Новости
- Вот так новость! Allure запил поддержку Selenide
- Selenide перешёл на т.н. “семантическое версионирование”. То есть теперь новые версии будут называться 4.11.1, 4.11.2, 4.11.3 (и я надеюсь, выходить чаще).
- У Selenide появилось два новых коммитера. Встречайте героев:
- Борис Осипов (на самом деле уже с осени)
- Александр Расолка
Мы растём, и это вселяет оптимизм. :)
Ресурсы
- Интеграция всего с Allure (в том числе Selenide, конечно)
- Отличный доклад Selenium Waits: deep dive от Ярослава Пернеровского на SeleniumCamp 2018.
Главный вывод - огонь! - Selenide- быстрый старт в автоматизации тестирования
- Туториал для начинающих An installer for Selenide
- Selenide упомянут в книге Learning Vue.js 2
- Какие-то черти сделали презентацию про Selenide на польском на AADays
- Мой доклад Flaky tests с конференции SeleniumCamp 2018
- Мой доклад Arrange, mazafaka! с конференции SeleniumCamp 2018
И целая пачка материалов про Selenide на японском языке:
- 70-страничный туториал
- Ещё один hello world с Selenide и сервлетом
- Заметка про проблему sendKeys в headless Chrome и её решение с помощью Selenide
- http://www.atmarkit.co.jp/ait/articles/1803/05/news010.html
- https://qiita.com/shimashima35/items/918b26c4260e764ce90a
Всем тёплого апреля!
ru.selenide.org
02.04.18