Вышла Selenide 3.6

Вышла Selenide 3.6

BasicAuth, JBrowser, PhantomJS, TestNG
01.06.16

Привет вам, рыцари ордена качества!

В последний день весны мы всё-таки выпустили Selenide 3.6!

Вернули стратегию загрузки страницы обратно на normal

В Selenide 3.5 мы прописали дефалтовую стратегию страницы в none. Для некоторых пользователей это ускорило тесты, но другие стали жаловаться, что тесты повалились, и они вынуждены были вернуться на Selenide 3.4

Теперь мы вернулись обратно на normal, а кто хочет ускорения тестов, прописывайте

-Dselenide.page-load-strategy=none

или

Configuration.pageLoadStrategy = "none";

см. issue #321

Теперь пэдж обжекты не обязательно должны быть публичными

… или иметь публичный конструктор

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);
      }
    }
}

Сделайте его приватным, удалите ненужные конструкторы! Нечего плодить хлам.

см. issue #335

Добавлена поддержка вебдрайвера JBrowser

JBrowser - это очередная попытка создать headless браузер (как HtmlUnit и PhantomJS). Типа чтобы тесты бегали быстро и не мозолили глаза. Правда, пока он кажется ненадёжным: большинство собственных тестов Selenide на нём валится.

Но вы можете попробовать сами: -Dselenide.browser="jbrowser". И придётся ещё добавить зависимость в проект:

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

см. issue #329

Спасибо Anil Kumar Reddy Gaddam за этот pull request!

Метод $().download() теперь использует стандартный селенидовский таймаут

А раньше он мог зависать надолго. Один раз наш билд подвис на два часа на методе $.download()!

см. issue #341

Добавлена поддержка Basic Auth для основных браузеров

Примеры использования можно подсмотреть здесь:

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

см. issue #320

Спасибо dimand58 за этот pull request!

Добавили метод $.screenshotAsImage()

Он позволяет получить изображение одного отдельно взятого элемента. Полезно для дебага, особенно когда страница большая и всё не помещается.

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

Спасибо Akkuzin за этот pull request!

Починили TestNG TextReport Listener

теперь отчёт будет генерироваться только для классов, аннотированных @Report.

Если я правильно понял, это вроде как бага TestNG: если листенер объявлялся хотя бы в одном тесте,

@Listeners(TextReport.class)

то он автоматически распространялся на все тесты. Не бог весть какая проблема, но всё-таки лишний хлам в логах. Вдруг вы хотите генерировать отчёт только с некоторых проблемных тестов.

Теперь мы сделали так, что отчёт будет генерироваться не для всех классов, а только для тех, что помечены аннотацией @Report.

Спасибо Alexei Vinogradov за работу над несчастными листенерами TestNG!

Обновили phantomjsdriver до версии 1.3.0 (совместима с selenium-java 2.53.0)

Проект PhantomJS Driver, к сожалению, на долгое время остановился в развитии. Его автор Ivan Marino сначала сообщил, что больше не может активно заниматься проектом, а потом и вовсе пропал. :(

Но мы взяли его под свой контроль! Мы создали форк, который может считаться официальным продолжением, и зарелизили версию phantomjsdriver 1.3.0, которая совместима с последним Selenium Webdriver 2.53.0. И эта версия теперь поставляется вместе с Selenide.


Вот такая у нас вышла чумачечая весна.

Скачивайте и тестируйте в своё удовольствие!



Новости

В конце февраля в Киеве состоялась моя любимая (юбилейная пятая) конференция SeleniumCamp. Я сам туда попасть не смог по семейным обстоятельствам, но и без меня там было сразу несколько докладов про Selenide. Это же просто праздник какой-то, а?

Немного статистики

Статистика скачиваний Selenide за май 2016:

Нас всё больше!

Забавно, что популярность Selenide никак не коррелируется с выходом новых фич и релизов. Совпадение?..



А что у вас новенького?


Андрей Солнцев

ru.selenide.org

01.06.16