We have released Selenide 5.14.0.
Stabilized new file downloading mode
… which was introduced in Selenide 5.13.0.
What has been changed in 5.14.0:
Every time when Selenide opens a browser it creates a unique downloads folder for it.
It helps to avoid situation when parallel tests are downloading multiple files to the same folder at the same time. And it’s impossible to understand what file is downloaded by which test.
See issue 1220 and PR 1221.
- Unfortunately, it doesn’t work in IE and Safari (which don’t allow to customize downloads folder).
- It works only for browsers opened by Selenide itself.
- If you create browser by yourself, you will need to create the downloads folder and pass it to Selenide:
- either using new method
setWebDriver(driver, proxy, downloadsFolder).
- or constructor
- either using new method
- Before downloading next file, Selenide clears the downloads folder – see PR 1252
- In the end of tests run, Selenide deletes all empty downloads folders – see PR 1247
Unlike the classic check
$$.shouldHave(texts("text1", "text2")), it verifies that collection contains at least one
element with given text.
Thanks to Luis Serna for PR 1194.
By the way, it’s the first commit to Selenide from Bolivia! :)
Added support for Safari browser
Few years ago Selenide already had Safari support, but it seemed to work badly at that time.
At some moment, we removed the Safari support.
Now it’s the next try. This time Safari tests seem to work more or less.
As usually, you need to add just one line to run tests in Safari:
Configuration.browser = "safari";or
Please share your feedback.
See issue 1236 and PR 1237.
It may be useful when you create “non-static” variant of driver (
new SelenideDriver()) and want to take screenshots.
Now you can do it.
See issue 1166 and PR 1227.
Sometimes you need to get screenshot in Base64 format. For example, some visual comparison tools want it.
Now you can get screenshot as Base64 (or File or bytes) with new method
String screenshot = Selenide.screenshot(OutputType.BASE64); byte decoded = Base64.getDecoder().decode(screenshot); BufferedImage img = ImageIO.read(new ByteArrayInputStream(decoded));
See issue 1224 and PR 1231.
Now Selenide takes a screenshot when method
As you know, Selenide automatically takes a screenshot in case of test failure.
But we found that Selenide didn’t take a screenshot if one of these methods failed:
Now we fixed it.
See issue 1190 and PR 1240.
Added chrome option
We found that without this option, Chrome might sometimes crash (because of out of memory error).
- Why nobody complained about this?
- Are thing better now after adding this option? Please share your feedback.
P.S. Later some people complained about this option. We are still investigating it.
Fixed Sizzle selectors on web pages containing Dojo.js, troop.js etc.
See issue 1241 and PR 1245.
Improved error message when web element has disappeared
See issue 1013 and PR 1239.
Upgraded to WebDriverManager 4.1.0
See WDM Changelog.
- Wow! Udemy course including Selenide: “What every java developer must know about software testing”
- A video about Selenide in german
- A project example using Selenide+Selenoid+Docker by d3m0
- Another example: screenshot comparison using Selenide+Allure+Ashot+Screen Diff Plugin by Evgeniy Asovin
- One more example: Selenide + Appium + Allure + TestNG by qaschevychelov
- Selenide vs Selenium comparison: Choosing tools for UI testing: Selenium or Selenide? - 17.09.2019
- Post by Jakub Skibiński in Sonalake company blog: Selenide: A Powerful Testing Framework - 19.06.2020
- Switch from Serenity to Selenide - 22.05.2020 by Yuri Kudryavtsev (Maxilect company)
And a bunch of posts by Alexander Pushkarev:
- Test automation framework architecture — Layered architecture example with vanilla JUnit + Selenide
- UI Automation for mortals: elegant Page Objects with Java and Selenide
- Effective test automation: subcutaneous tests as a faster alternative to Selenium-driven testing