Вышла Selenide 6.1.1

Вышла Selenide 6.1.1

Капабилятити
24.11.21


TERE HOMMIKUST!


Мы зарелизили Selenide 6.1.1.

В этом маленьком релизе мы исправили сразу пачку проблем с настройками браузеров.
Они все всплыли после обновления на Selenium 4, в котором ChromeOptions и другие Capabilities были серьёзно переработаны.

Ну вот, теперь мы погрузились в тему и разом все проблемы исправили.


Раннее обнаружение конфликтов

Если вы попытаетесь открыть хром с настройками файерфокса:

Configuration.browser = "chrome";
Configuration.browserCapabilities.setCapability(FIREFOX_OPTIONS, new FirefoxOptions());

то Селенид версии 5.x ругался, а Селенид 6.0.x перестал ругаться. Теперь мы ругань восстановили, и вы снова увидите старое доброе

IllegalArgumentException: Conflicting browser name: ‘chrome’ vs. ‘firefox’

См. issue 1591 и PR 1642.


Слияние аргументов хрома

Если вы попытаетесь задать хрому, например, полноэкранный режим или язык:

ChromeOptions options = new ChromeOptions();
options.addArguments("--start-fullscreen", "--start-incognito");
options.setExperimentalOption("prefs", ImmutableMap.of("intl.accept_languages", "de_DE"));
Configuration.browserCapabilities = chromeOptions;
open("https://codeborne.com";)

то эти настройки терялись в Selenide 6.0.x Теперь мы их восстановили.

См. issue 1626, issue 1630 и issue 1631.

Исправление в PR 1642.


ВАЖНО

Если вы использовали Configuration.browserCapabilities, то с большой вероятностью заворачивали их в DesiredCapabilities:

ChromeOptions options = new ChromeOptions();
options.addArguments(...);

DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(ChromeOptions.CAPABILITY, options);
Configuration.browserCapabilities = caps;

Так вот, теперь этот код нужно упростить, чтобы настройки больше не терялись:

ChromeOptions options = new ChromeOptions();
options.addArguments(...);
Configuration.browserCapabilities = options;


Поменяли тип параметра в WebDriverProvider

… с DesiredCapabilities на просто Capabilities.

Для вас почти ничего не меняется. Если вы используете в своих тестах WebDriverProvider, просто поменяйте DesiredCapabilities на Capabilities, и всё будет по-старому.

См. PR 1642.


Больше капабилитей богу капабилитей!


UPD Selenide 6.1.2

Мы выпустили Selenide 6.1.2 с обновлением на Selenium 4.1.1 - эта версия содержит несколько заметных исправлений.


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

ru.selenide.org

24.11.21