Good morning!
Don’t wait to upgrade to Selenide 6.17.0!
$.type()
for slow typingWe upgraded Selenium version from 4.10.0 to 4.11.0.
Read the full Selenium changelog here.
See PR 2393.
Starting from version 4.6.0, Selenium has built-in tool for downloading webdriver binaries - SeleniumManager. Afaik, it’s developed by the same Boni Garcia, who created WebDriverManager. But now it’s an official part of Selenium project.
Read more about SeleniumManager here.
And now Selenide uses SeleniumManager instead of WebDriverManager.
Configuration.driverManagerEnabled
and method DriverFactory.setupWebdriverBinary
. It might cause compilation errors in your projects.@Deprecated
, and remove only in next major release.But we had no choice.
Starting from version 5.4.0, WDM started requiring Java11+ and stopped working with Chrome 115. While SeleniumManager still works on Java 8 and supports Chrome 115. And works out of the box. What else was left for us?
See issue 2402 and PR 2400.
P.S. If you still want to use WebDriverManager - not a problem. Just add it explicitly as a dependency to your project and call in the beginning of your tests:
WebDriverManager.chromedriver().setup();
WebDriverManager.firefoxdriver().setup();
WebDriverManager.edgedriver().setup();
etc.
In the last release, Selenide occasionally started requiring Java 11. It happened because of WebDriverManager update mentioned before.
Now it’s gone: no WebDriverManager - no problems. :)
Oldschoolers, you can run your tests on Java 8 again.
Nevertheless, I recommend you to upgrade to Java 11
(or even better to Java 17).
In the following autumn, Selenium will upgrade to Java 11 anyway, and then you will definitely have no choice.
See issue 2385 and PR 2400.
$.type()
for slow typingThis feature has been requested for a very long time. And finally!
Method $.type()
does almost the same as $.sendKeys()
, but slowly. With delays between key presses. It emulates like a real user is typing a text. May be useful for testing autocompletion, automated suggestions, hints, validation etc.
import static com.codeborne.selenide.TypeOptions.*;
$("#query").type("Who the fuck is yevgeny prigozhin");
$("#query").type(text("Who the fuck is dmitry utkin"));
$("#query").type(text("Who the fuck is lvova-belova").withDelay(ofMillis(100)));
By default, the delay between key presses is 200 milliseconds.
Thanks to Amuthan Sakthivel for PR 2191.
Now you can use this gesture when testing mobile apps:
import static com.codeborne.selenide.appium.SelenideAppium.$;
import static com.codeborne.selenide.appium.AppiumClickOptions.*;
$.click(longPress()); // by default 3 seconds
$.click(longPressFor(Duration.ofSeconds(4)));
See issue 2370. Thanks to Amuthan Sakthivel for PR 2381.
Now you can use this gesture when testing mobile apps:
import static com.codeborne.selenide.appium.SelenideAppium.$;
import static com.codeborne.selenide.appium.AppiumSwipeOptions.*;
$.swipeTo(); // by default swipes to the right
$.swipe(right());
$.swipe(right(20));
$.swipe(left());
$.swipe(left(30));
Thanks to Amuthan Sakthivel for PR 2369.
So, update, try and share:
How do you like SeleniumManager?
Everything is broken, or we can live with it?
Monthly downloads count of selenide.jar exceeded 649 thousands!
(The previous record was in March: 602 thousand)
02.08.23