Released Selenide 5.12.0

Released Selenide 5.12.0

The lost capabilities

Good day!

Yes! We released Selenide 5.12.0.

Most of the changes are about browser capabilities.

We fixed an old problem with Configuration.browserCapabilities

People had been complaining for years about ChromeOptions: some of these settings could be lost in some circumstances.
It was caused by an old bug in Selenium webdriver, which seems to be lost and forgotten.

But it seems that we have found a simple workaround for this problem.

  • If it helped you - please share you feedback.
  • If it didn’t help - please register a github issue. We will work out another hack. :)

See issue 676, issue 1097 and PR 1155.

Special thanks to those experiments that didn’t get to the release, but inspired it:

We disabled to annoying dialog “save password?”

See issue 1133 and PR 1134.

We adeed “mobile emulation” mode in grid

Since Selenide 5.6.1, you can run Chrome in “mobile emulation” mode:

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

Recently we found that this option only works when running Chrome locally, and was not passed to the remote Chrome.
Now we fixed it: when running Chrome in Grid, we pass all options that are used for local Chrome (except “downloads folder”).

See issue 1109 and PR 1163.

We simplified Firefox setup: now without profile

When opening a Firefox browser, Selenide created a new profile (FirefoxProfile) - at least to set a “downloads folder” setting.
Recently we found that using profile causes some limitations, and generally is not needed (I guess profile was needed for the legacy firefox driver).

Now we don’t create a profile by default.

  1. Instead, we set downloads folder via firefoxOptions.addPreference("").
  2. We only create profile if you set some system settings starting with "firefoxprofile.".

See issue 1139 and PR 1165.

We set "ACCEPT_INSECURE_CERTS" setting for chromium-based Edge versions

Starting from some version, IE and Edge browser stopped supporting "ACCEPT_INSECURE_CERTS" setting
(which enables self-signed SSL certificates). So we removed this setting for IE and Edge (starting from Selenide 5.9.0).

Recently we found that latest versions of Edge browser (which are built on Chromium engine) do support this setting.
So we set "ACCEPT_INSECURE_CERTS" again for Edge 75 and newer.

NB! Selenide can know Edge version only if EdgeDriver was downloaded with WebDriverManager (which is enabled by default in Selenide).

See issue 1093 and PR 1167.

We upgraded to WebDriverManager 4.0.0

  • Support for Firefox 76
  • Support for Edge 81, 83, 84
  • Upgraded Apache HttpClient from 4.x to 5.0

See PR 1149 and WDM Changelog.

We upgraded to browserup-proxy-core:2.1.0

Just in case.

We fixed name of screenshot folder ‘emptyMethod’

This issue was specific to JUnit 5.

Thanks to Denis Gaievsky for PR 1138.

Annotated most of the public Selenide methods with @Nullable and @Nonnull

It will help IDEA (and hopefully other IDEs) to better highlight issues in your tests.
It will also help Kotlin users to use nullable/non-nullable types.

Again, thanks to Yuriy Artamonov for PR 1140 and PR 1144!


Andrei Solntsev