Released Selenide 7.7.0

Released Selenide 7.7.0

Fly me to the Moon
07.01.25

Happy New Year everyone!

We started the year with a release Selenide 7.7.0.


Added support for Moon

Once upon a time, the guys from Aerokube created Selenoid - it was like Selenium Grid on steroids. Selenoid could run browsers in Docker, shot videos and quickly became popular. Four years ago, we added support for Selenoid in Selenide.

Then the guys created Moon - a similar instrument, but in Kubernetes. And switched to it. And recently Selenoid maintenance was finally terminated:

This repository has been archived by the owner on Dec 17, 2024. It is now read-only.

And we were finally forced to implement Moon support. :)
Now you can - running browsers in Moon - download files from there and check the clipboard etc. - everything that Selenide can do with local browsers.

Getting started with it is easy:

  1. Replace dependency com.codeborne:selenide:7.7.0 by com.codeborne:selenide-moon:7.7.0
  2. Specify URL of your Moon installation:
    Configuration.remote = "http://moon.aerokube.local/wd/hub";
    
  3. That’s it. You can use corresponding methods in tests:
    clipboard().shouldHave(content("John Wick"));
    File report = $("#report").download(using(FOLDER).withExtension("pdf"));
    

See issue 2304 and PR 2924.


Added method $.scroll() with parameters

Selenide already had a few methods for scrolling a web page: $.scrollTo(), $.scrollIntoView(), $.scrollIntoCenter().

Now there is another, more universal method $.scroll(options), which can be given parameters for direction and distance in pixels:

$("#up").scroll(direction(UP));
$("#left").scroll(direction(LEFT).distance(1400));

See issue 2769. Thanks to donnieHub for PR 2809.


Fixed Selenide on Java 22

It suddenly turned out that Selenide tests (without proxy) do not work on Java 22.

To fix it, we had to add BrowserUpProxy dependency runtime scope (even if you don’t use proxy). It’s not perfect, but good enough as a quick fix. To fix it properly, it’ll require significant refactoring. :) But overall, nothing will change for you.

See issue 2910 and PR 2912.


Updated MITM certificate for Selenide proxy

Now that was epic.
For those who added the self-signed BrowserUpProxy certificate to their trusted certificates (I don’t know why), the tests suddenly broke with the arrival of 2025.

A long time ago, in 2015, someone in the BrowserMobProxy project generated a self-signed certificate for 10 years. And then in early January 2025, the certificate expired. And the project changed hands several times. And the authors are nowhere to be found. And there is no documentation left. :)

How great is that we are such good guys and quickly learned how to generate new certificates!


A big hello to whoever will have to step on this rake again in January 2035. ;)

Remember us when you open yesterday’s README in your Intellij IDEA 2034.3.1 and run tests on Java 45 LTS while sipping a pineapple latte on your veranda on the Moon.

See issue 457, PR 2930 and PR 458.


Happy New Year!

Make plans, but let unplanned things happen to you.

Everything will be fine someday.


Andrei Solntsev

selenide.org

07.01.25