Вышла Selenide 4.11.0

Вышла Selenide 4.11.0

режим бога в Selenide
02.04.18

Привет, друзья!

Ой, сколько всего хочется рассказать, аж не терпится!

Но начнём с релиза 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 появилось два новых коммитера. Встречайте героев:

    Мы растём, и это вселяет оптимизм. :)

Ресурсы


И целая пачка материалов про Selenide на японском языке:


Всем тёплого апреля!

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

ru.selenide.org

02.04.18