Released Selenide 4.13.0

Released Selenide 4.13.0

To the sound of the salute
20.08.18

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 Selenide.download(url)

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


News

  • 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

selenide.org

20.08.18