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)
Problem
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.
Solution
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.
News
-
A funny dialog in Twitter: contributor of Selenium and Watir projects Titus Fortner admitted that he watched my presentation about Selenide on SeleniumConf, and even stole some ideas for Watir. And I admitted that some of Selenide ideas were initially stolen from Watir. :)
- A good article Modern Best Practices for Testing in Java. A plenty of right ideas.
- A post Selenide Test Automation: Using Selenoid in the Docker Container
- A post Parametrized UI testing with Selenide and Junit 5
- Some base project qa-automation-base which has mixed Kotlin + Selenide/Appium + JUnit 5 + Allure + Allure EE + TestRail.
Statistics
And for dessert - Selenide download statistics. We are growing!
selenide.org
10.03.20