On August 29, 1997 a computer system Skynet became self-aware and launched nuclear missiles at Russia. So the war between humans and terminators began.
It happened .. oh, my god! - 24 years ago. We live in the Future, and we are still alive. And we still rule the machines.
I I celebrate this day every year, and today, in honor of the holiday, we released Selenide 5.24.0.
We added method
to run custom commands with a custom timeout.
In Selenide 5.3.0 we added method
$.execute() for running custom commands.
But it could only use a default timeout. Now you can use custom timeout for any custom command.
See issue 1525.
Thanks to Evgenii Plugatar for PR 1531.
$.execute(Command, Duration) don’t pass arguments to the command
It’s a small change, but it might break your custom commands if you have some. Be prepared.
See issue 1527.
Thanks to Evgenii Plugatar for PR 1535.
And conditions in case if element is not found
See issue 1534.
Thanks to Evgenii Plugatar for PR 1539.
And don’t accept empty conditions list
I hope you never tried to use
And with an empty conditions list because it makes no sense. Anyway, now you will get a runtime exception if you try to.
Thanks to Evgenii Plugatar for PR 1542.
We renamed methods
Many years ago I named it
applyNull, but this name is very misleading.
This method checks if the condition is met if the element is not found at all. Now it’s named
missingElementSatisfiesCondition() - a rather long, but accurate.
See issue 1541.
Thanks to Evgenii Plugatar for PR 1544.
We removed useless stacktraces when closing the webdriver
As you know, Selenide automatically closes the webdriver when it’s not needed anymore. To make it possible, Selenide runs a few background threads which monitor the webdriver status. And sometimes these threads compete with each other and try to close the webdriver which has been already closed by another thread. You might see such stacktraces in your logs.
Now Selenide detects such situation better and doesn’t print long useless stacktraces.
See issue 1467 and PR 1540
We fixed searching shadow roots inside of web elements
See issue 1532 and PR 1536
selenide-selenoid:1.1.5 with upgrade to Selenide 5.24.0
selenide-appium:1.6.8 with upgrade to Selenide 5.24.0
UPD: Selenide 5.24.1
WebDriverManager is a library (used by Selenide) for downloading webdriver binaries. They recently released a major update 5.0.0 with lots of new features. We haven’t incorporated these new features in Selenide yet, but at least we released Selenide 5.24.1 with upgrade to WebDriverManager 5.0.1.
Thanks to Anil Kumar Reddy Gaddam for PR 1531.
UPD: Selenide 5.24.2
We found that
commons-lang3 dependency (used by Selenide) doesn’t come transitively from WDM 5.x anymore.
We had to add it explicitly and release Selenide 5.24.2.
See issue 1551.
UPD: Selenide 5.24.3
We upgraded to WebDriverManager 5.0.2, now we could exclude
docker-java and few other dependencies.
UPD: Selenide 5.24.4
We upgraded to WebDriverManager 5.0.3 which had a quickfix for the latest Firefox 92.0 on MacOS.
The World doesn’t consist of only Web and Mobile!
You can also use Selenide for testing Swing applications! Here is an example.
Under the hood it uses webdriver implementation for swing.
Selenide usage statistics
249+ thousands of downloads per month. We almost got 250K!
Hasta la vista, baby!