Selenide: теперь по-настоящему быстрый старт

В этом году я познакомился с фреймворком Selenide, который позволяет писать более компактные и читаемые тесты на языке Java с использование технологии Selenium Web Driver. Доклады на эту и другие темы автора фреймворка Андрея Солнцева показывают, что разработчики глубоко понимают проблемы UI тестирования и успешно работают над их решениями. Давайте же пользоваться!

Все хорошо, но есть проблема. Если посетить на сайте проекта раздел "Быстрый старт", то вам предложат воспользоваться одним из продвинутых тулов для разработчиков (maven, gradle, ivy). Необходимо ли это? Вовсе нет. Начать писать тесты и эффективно использоваться Selenide можно и владея только самым базисом тест-автоматизации - Java, Eclipse, основы Selenium. У вас есть 5-10 минут? Этого достаточно, убедитесь сами.

Нам понадобится:

  • Java SDK 1.6+
  • Eclipse for Java (практически любая версия) http://www.eclipse.org/downloads/
  • Браузер Firefox (с ним по умолчанию работают Selenium и Selenide)

  1. Скачаем свежую версию Selenium Client for Java (http://www.seleniumhq.org/download/ ) и  selenide.jar ( ищем последнюю версию http://search.maven.org/#search%7Cga%7C1%7Cselenide и скачиваем .jar).
    Update (можно еще чуть быстрее): вместо Selenium Client for Java скачайте Selenium Server - selenium-server-standalone-x.y.z.jar ~35Mb
  2. Стартуем Eclipse и создаем новый Java Project (File->New->Java Project). Задаем имя, например SelenideQuickStart. Нажимаем на Finish
    New_Java_Project
  3. Распаковываем selenium-java-x.y.z.zip  и добавляем все jar-файлы (selenium-java-x.y.z.jar, и содержимое папки lib), а также selenide-x.y.jar в проект (Project Properties -> Java Build Path -> Libraries).
    Properties_for_SelenideQuickStart
    Update. Если вы скачали selenium-server-standalone-x.y.z.jar, добавьте его вместо содержимого Selenium Client for Java, тогда список будет короче:
    Properties_for_SelenideQuickStart
    Серверная версии Selenium-а (.jar) содержит полностью распакованные jar-файлы из клиентской версии, а также дополнительные классы и пакеты, с ней сложнее разрешать конфликты сторонних библиотек, если ваш тестовый проект будет в них нуждаться. К счастью, дополнительные сторонние библиотеки будут нужны вам для автоматизации тестов сравнительно редко.
  4. Создадим JUnit тест (File->New>JUnit Test Case). Выберем JUnit Test 4, впишем package, например com.selenide.quickstart и название тест-класса, например GoogleTest. Нажмём на Finish.
    New_JUnit_Test_Case
    Согласимся с добавлением JUnit 4  к проекту.New_JUnit_Test_Case
  5. Заменим стандартный код текста на следующий. Данный код вводит строку "selenide" в поиск гугла и сравнивает результат.
  6. Готово! Запустим тест (как JUnit Test) Run->Run. На несколько секунд у вас откроется браузер Firefox в котором выполнится тест. Вот результат:
    Eclipse
  7. Напоследок глянем на скриншот. Selenide сохраняет png-картинку и html-страницу в папке build/reports/tests.  Ее можно открыть, например, в навигаторе (Window->Show View->Navigator). Иногда нужно актурализировать папку проекта клавишей F5 (или File->Refresh).
    Java_-_SelenideQuickStart_src_com_selenide_quickstart_GoogleTest_java_-_Eclipse_-__Users_vinogradov_Documents_workspaceJava
    google_results_png

Вуаля 🙂 Теперь, мы действительно за несколько минут написали работающий тест с использованием Selenide, избежав углубления в технологии разработчиков.

Вас заинтересовал Selenide? Посмотрите данное видео от его создателей (1 час), чтобы узнать про его продвинутые возможности.

А хотите писать понятные Selenium тесты еще быстрее и без использования IDE? Подписывайтесь на блог, я расскажу как.