We released Selenide 3.6

We released Selenide 3.6

BasicAuth, JBrowser, PhantomJS, TestNG
01.06.16

Good day!

In the last day of spring, we released Selenide 3.6.

Reverted page loading strategy to normal

In Selenide 3.5 we set default page loading strategy to none. It made tests faster for some users, but other users complained that it broke their tests, so that they had to rollback to Selenide 3.4.

Now the default page loading strategy is again normal (it’s Selenium default). If you want to speed up your tests, just configure

-Dselenide.page-load-strategy=none

or

Configuration.pageLoadStrategy = "none";

See issue #321

Now page objects don’t have to be public

… or have public constructor.

public class GoogleSearchTest {
    private SearchPage search;

    private static class SearchPage {
      public ResultsPage searchFor(String keyword) {
        $(By.name("q")).val(keyword).pressEnter();
        return page(ResultsPage.class);
      }
    }
}

Make it private. Remove useless constructors. Clean up your code.

See issue #335

Added support for JBrowser webdriver

JBrowser is a new headless browser (like HtmlUnit and PhantomJS). In theory, it could be faster than usual browsers. In practice, JBrowser seems to be unusable yet: most of Selenide own tests fail with it.

But you can try it by yourself: -Dselenide.browser="jbrowser".

And you will need to add dependency to your project:

<dependency org="com.machinepublishers" name="jbrowserdriver" rev="[0.13.0, 2.0)" conf="test-default"/>

See issue #329

Thanks to Anil Kumar Reddy Gaddam for this pull request!

Method $().download() now uses the standard selenide timeout

Before this change, method $.download() could hang sometimes. Now it works no longer that 4 seconds (or whatever timeout you configured).

See issue #341

Added support for Basic Auth for all common browsers

You can find usage examples here:

Selenide.open("http://httpbin.org/basic-auth/user/passwd",
        "",
        "user",
        "passwd");

See issue #320

Thanks to dimand58 for this pull request!

Added method $.screenshotAsImage()

It allows to get an image of some element. It may be useful for debugging, especially when the page is large, and all elements do not fit on the screen.

BufferedImage elementScreenshot = $(".logo").screenshotAsImage();

Thanks to Akkuzin for this pull request!

Fixed TestNG TextReport Listener

now the report will only be generated for classes annotated with @Report.

If I understand correctly, it is a TestNG: if listener is declared in one of test classes, it’s applied to all tests. Like this:

@Listeners(TextReport.class)

It may be a problem if you want to generate a report only for some problematic tests.

Now we fixed it. The report will not be generated for all test classes, but only those annotated with @Report.

Thanks to Alexei Vinogradov for his work on TestNG listeners!

Upgraded phantomjsdriver to version 1.3.0 (compatible with selenium-java 2.53.0)

Unfortunately, PhantomJS Driver project has been asleep for a while. Its original author Ivan Marino declared that he cannot support the project anymore. :(

That’s why we forked it and released phantomjsdriver 1.3.0, that is compatible with the latest Selenium Webdriver 2.53.0. And now this version is included with Selenide 3.6+.


That’s all about Selenide 3.6.

Download and test with pleasure!



Other news

Statistics

This is Selenide download statistics for May 2016:

The Army of Seleniders is growing!



And what’s up with you?


Andrei Solntsev

selenide.org

01.06.16