Released Selenide 5.9.0

Released Selenide 5.9.0

Download me cleverly

Buenos Marchos!

In Selenide, we strive to cure flaky tests all the time.

Today we released Selenide 5.9.0 with one feature that can help to overcome some of your flaky tests.

We added a filter for downloading files: $.download(FileFilter)


When downloading files via proxy, Selenide can sometimes download a wrong file.
This is how it works: Selenide clicks the “download” button and intercepts all responses from server to browser.

Exactly at this moment there could happen some unrelated requests between browser and server.
Say, chrome decides to check for updates at this moment. Or your AUT sends request to google analytics. Or just some background requests.
This creates fertile ground for emergence of flaky tests which work on your machine but sometimes fail on jenkins.


To avoid such collisions, you can now explicitly specify which file you expect. Out of the box, there are filters by file name or extension. And you can create your own FileFilter implementations with any filters you need.
Given such a filter, Selenide will select the right response matching your criteria.

See examples in tests:

File f1 = $("#downloadMe").download(withName("hello_world.txt"));
File f2 = $("#downloadMe").download(withNameMatching("hello_.\\w+\\.txt"));
File f3 = $("#downloadMe").download(timeout, withExtension("txt"));

See issue 1065 and PR 1080.

We fixed error when starting IE 3.150

See issue 1061.
Thanks to Boris Osipov for PR 1075.

We fixed error when starting Microsoft Edge

See issue 1039.
Thanks to Boris Osipov for PR 1084.



And for dessert - Selenide download statistics. We are growing!

Andrei Solntsev