Вышла Selenide 5.12.0

Вышла Selenide 5.12.0

Утерянные капабилити
23.05.20

Всем привет!

Ура, релиз Selenide 5.12.0.

Большая часть изменений касается настроек браузеров.

Порешали старинную проблему с Configuration.browserCapabilities

Люди давно уже жаловались на то, что часть настроек в ChromeOptions теряется (при некоторых условиях). Вызвана она была старой багой в Selenium, которой никто особо не занимается. И мы не хотели ввязываться.

Но кажется, нам удалось найти простой костыль.

  • Если вам помогло - делитесь.
  • Если не помогло - тем более делитесь, будем докостыливать дальше.

См. issue 676, issue 1097 и PR 1155.

Отдельное спасибо за попытки, которые не попали в релиз, но навели нас на итоговое решение:

Выключили раздражающий диалог “save password?”

См. issue 1133 и PR 1134.

Добавили режим “эмуляции мобильника” в гриде

Как вы знаете, в Selenide 5.6.1 появилась возможность запускать хром в режиме “эмуляции мобильного браузера”:

java -Dchromeoptions.mobileEmulation="deviceName=Nexus 5"

Но эта опция срабатывала только при локальном запуске хрома, и не передавалась при запуске хрома в гриде.
Теперь мы это починили: в грид передаются все настройки хрома, которые используются и при локальном запуске (кроме “папки для скачивания файлов”).

См. issue 1109 и PR 1163.

Упростили сетап Firefox: теперь без профиля

При открытии браузера Firefox селенид создавал ему профиль (FirefoxProfile) - как минимум, чтобы задать папку для скачивания файлов.
Оказалось, что использование профиля накладывает некоторые ограничения, и вообще не нужно (вроде как когда-то он был нужен для legacy firefox driver).

Теперь мы по умолчанию обходимся без профиля:

  1. Папку для скачивания файлов создаём через firefoxOptions.addPreference("browser.download.dir")
  2. Создаём профиль, только если вы специально задали системные свойства, начинающиеся на "firefoxprofile.".

См. issue 1139 и PR 1165.

Задаём настройку "ACCEPT_INSECURE_CERTS" для версий Edge, построенных на движке chromium

Начиная с какой-то версии, браузеры IE и Edge перестали поддерживать настройку "ACCEPT_INSECURE_CERTS" (разрешение самоподписанных SSL сертификатов). И мы выпилили эту настройку для IE и Edge (в Selenide 5.9.0).

Но оказалось, что более поздние версии Edge, которые построены на движке Chromium, снова начали её поддерживать.
Поэтому мы вернули настройку "ACCEPT_INSECURE_CERTS" для версий Edge 75 и выше.

Важно: версию Edge селенид может узнать, только если EdgeDriver был скачан с помощью WebDriverManager (что в селениде случается по умолчанию).

См. issue 1093 и PR 1167.

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

  • Поддержка Firefox 76
  • Поддержка Edge 81, 83, 84
  • Обновили Apache HttpClient с 4.x на 5.0

См. PR 1149 и WDM Changelog.

Обновились на browserup-proxy-core:2.1.0

Ну мало ли.

Исправили имя папки для скриншота ‘emptyMethod’

Проблема касалась только JUnit 5.

Спасибо Denis Gaievsky за PR 1138

Расставили аннотации @Nullable и @Nonnull

Это поможет IDEA (и надеюсь, другим IDE) лучше подсвечивать косяки в ваших тестах.
А также это поможет пользователям Kotlin правильно использовать nullable/non-nullable типы.

И снова спасибо Yuriy Artamonov за PR 1140 и PR 1144!

Новости

  • Мы опубликовали Selenide Roadmap. Ждём ваших отзывов!
  • Видео с митапа pro:TEST - Чехия, 28.04.2020
  • Видео с митапа QA meetup - Словакия, 12.05.2020
  • Всеволод Брекелов и Артём Ерошенко запустили шоу “Ошибка выжившего”. Я посмотрел первые 4 выпуска - годно!
  • Ребята и девчонки из jug.ru запустили шоу “Тяжелое утро с Heisenbug”.
    Ближайший выпуск будет со мной, ура-ура! 27 мая 2020


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

ru.selenide.org

23.05.20