Selenide v3.0 Release Notes

  • ๐Ÿ†• New functions:

    • โž• Add method Selenide.updateHash() (thanks to @fabienbancharel for pull request #254)
    • โฌ†๏ธ upgrade to sizzle 2.2.1
    • โฌ†๏ธ upgrade to guava 19.0
    • โฌ†๏ธ upgrade to testng 6.9.10

    ๐Ÿ”จ Big refactoring:

    • ๐Ÿ”จ Refactor AbstractSelenideElement. Instead of single huge class, it's split to many small classes ("commands").
    • ๐Ÿ‘‰ User can override any of these commands
    • ๐Ÿ‘‰ User can add any custom commands to the standard Selenide methods

    Code cleanup:

    • โœ‚ Remove deprecated conditions:
      • notPresent -> Use method $.shouldNot(exist) or $.shouldNotBe(present).
      • hasOptions -> Not needed anymore. Use methods $.selectOption() or $.selectOptionByValue().
      • options -> Not needed anymore. Use methods $.selectOption() or $.selectOptionByValue().
      • hasNotClass -> Use method $.shouldNotHave(cssClass("abc"))
    • โœ‚ Remove deprecated class JQuery
    • โœ‚ Remove deprecated class PrettyReportCreator (use class TextReport for JUnit or TestNG)
    • โœ‚ Remove deprecated methods
      • Selenide.switchToWindow(title) -> use method switchTo().window(title)
      • Selenide.switchToWindow(index) -> use method switchTo().window(index)
    • โœ‚ Remove deprecated methods
      • WebDriverRunner.ie() -> use method WebDriverRunner.isIE()
      • WebDriverRunner.htmlUnit() -> use method WebDriverRunner.isHtmlUnit()
      • WebDriverRunner.phantomjs() -> use method WebDriverRunner.isPhantomjs()
      • WebDriverRunner.takeScreenShot() -> use method Screenshots.takeScreenShot()
    • โœ‚ Remove deprecated methods
      • $.should*(String message, Condition condition) -> use method $.should*(condition.because(message))
    • โœ‚ Remove class com.codeborne.selenide.impl.Quotes because it was migrated to Selenium Webdriver (org.openqa.selenium.support.ui.Quotes)