Released Selenide 7.9.0

Released Selenide 7.9.0

Screenshots, again
19.04.25

Hello, quadrobers!

We have released Selenide 7.9.0.

You know, tariffs set to rise to at least 104% on features import in Selenide… ¯¯_(ツ)_/¯¯


Attach screenshots to Jenkins and GitLab

When you run tests, Selenide automatically takes screenshots.

The path to the screenshot is added to the error message. This is very convenient when running locally, but when the tests are run on Gitlab, GitHub Actions or Jenkins, you still need to somehow save these files (archive, download artifacts, etc.).

This is solvable by few lines in build script, but now it will be solved even easier.

Now Selenide prints all the taken screenshots to the console in the following format:

[[ATTACHMENT|/path/to/screenshot.png]]
[[ATTACHMENT|/path/to/screenshot.html]]

At least GitLab and Jenkins understand this format and automatically save these files in build results.

See issue 2992. Thanks to Vivien Tintillier for PR 2998.


Click holding keys

Selenide has a method to click an element using JavaScript. Sometimes it can help to click an element that webdriver considers invisible, disabled etc.

Now you can click in this way, while “holding” down the ALT, CTRL, SHIFT or META keys:

import static org.openqa.selenium.Keys.*;

$("button").click(usingJavaScript());
$("button").click(usingJavaScript().holdingKeys(META));
$("button").click(usingJavaScript().holdingKeys(ALT, SHIFT));

See issue 2763 and PR 3008.

* Meta key has been designated as an extremist and is banned in the territory of the russian federation.


Upgrade to Selenium 4.31.0

There, it seems nothing serious happened. Just in case:

  • Updated Selenium from 4.30.0 to 4.31.0
  • Updated CDP from 134 to 135

See PR 2994.


Check for empty expected value

For the last 5 years, Selenide complains when you try to check en empty substring. Even IDEA highlights it as an error:

IDEA error empty substring

But it turned out that we forgot to do the same check for attributes: $.shouldHave(value("")). This expression is also meaningless, since any string contains an empty substring.

See PR 3007.

NB! To avoid repeating the same mistakes, we recommend to set

Configuration.textCheck = FULL_TEXT;

In Selenide 8.0.0 it will be enabled by default.



Andrei Solntsev

selenide.org

19.04.25