Released Selenide 4.13.0

Released Selenide 4.13.0

To the sound of the salute

Hi all!

On August 20, Estonia marks a unique holiday - the Day of Restoration of Independence. 08/20/1991 Estonia regained its independence. Right now, outside the window, a many-thousands-strong choir sings patriotic songs and thunders salute.

And I am rolling out to the sounds of the salute … Selenide 4.13.0

There were more changes than it seemed to me. :)

Added method $.lastChild()

It finds the last child element of given element. Like $("table").lastChild().shouldHave(cssClass("lastRow"));

See examples in Selenide tests

Thanks to SymonK for PR 771

Added collection checks with custom timeout

As you know, Selenide always had method $.waitUntil(condition, timeout) for waiting for some event with non-standard timeout. Now we added similar method for collections. Though, we decided not to name it waitUntil, because this name doesn’t match well with condition names: $$.waitUntil(texts("a", "b", "c")) doesn’t sound well in English. Instead, we use the same name as before:

  • $$.shouldBe(empty, 9000)
  • $$.shouldHave(size(4), 9000)

See more examples in Selenide tests.

See issue 601 and PR 781

Added method

It downloads a file by direct link. But downloads as it was downloaded by browser. Technically speaking, Selenide performs Http GET request with your provided URL, but adds cookies and User-Agent header from currently opened webdriver.

See more examples in Selenide tests.

See PR 782

Upgraded to Selenium 3.14.0

Just in case, I have to mention that SelenideElement doesn’t implement the following deprecated interfaces anymore:

  • FindsByLinkText
  • FindsById
  • FindsByName
  • FindsByTagName
  • FindsByClassName
  • FindsByCssSelector
  • FindsByXPath
  • HasIdentity

I believe it will not affect you. Just in case.

See PR 773

Method switchTo().alert() now throws NoAlertPresentException

… instead ofTimeoutException

See issue 273 – thanks to Keita Tsukamoto for PR 774

Fixed error message from $.selectOptionByValue()

See issue 709 – thanks to Keita Tsukamoto for PR 780

Fixed name of downloaded file

See issue 734 – thanks to Aliaksandr Rasolka for PR 768

Upgraded to WebdriverManager 2.2.5

See PR 783 and WebdriverManager changelog

Upgraded to HtmlUnit 2.32.1

See PR 775

Fixed Selenide own tests Firefox

Probably you remember the historical moment when webdriver for Firefox already didn’t work, but Geckodriver (aka Marionette) didn’t work yet. At that moment we had to “temporarily” disable Selenide own tests in Firefox. And recently we discovered that there have been disables for last N years :(

Now we finally enabled them back and fixed. We had to fix quite a lot of things… We probably even fixed some Firefox-specific bugs. :)

See PR 778


  • A great fragment of a phrase in a chat:

    I use Java not only for being Java, but also for existing sweeties: Selenide, RestAssured etc.

  • We discovered two new frameworks, both powered by Selenide:
  • You can generate a new Selenide + Maven + JUnit5 sample project with just one line!

For example:

mvn archetype:generate -B
  -DarchetypeGroupId=org.selenide -DarchetypeArtifactId=selenide-junit5-archetype
  -DgroupId=com.example -DartifactId=ui-tests -Dpackage=com.example.project.ui

See Maven Archetype Documentation for further instructions.

I’ll be back!

Andrei Solntsev