Geb

Geb - это инструмент для автоматизации браузера, написанный на скриптовом языке Groovy (JVM-based) и использующий Selenium Webdriver для автоматизации браузера, JQuery селекторы для локации элементов и page object паттерн. В рамках автотестирования он легко интегрируется с различными тестовыми фреймворками, как JUnit, TestNG, Spock.

В сравнении с Webdriver API, geb предоставляет более удобный интерфейс в следующих областях:

  • работа с экземпляром Webdriver (создание, настройка, переходы, уничтожение)
  • нахождение элементов (JQuery локаторы)
  • page object паттерн
  • ожидания
  • взаимодействия со страницей
  • работа с AJAX элементами
  • интеграция с build инструментами (maven, gradle, grails)
  • интеграция с облачными сервисами (Sauce labs, Browser Stack)

Пример теста на Geb:

import geb.Browser

Browser.drive {
    go "http://myapp.com/login"

    assert $("h1").text() == "Please Login"

    $("form.login").with {
        username = "admin"
        password = "password"
        login().click()
    }

    assert $("h1").text() == "Admin Section"
}

Geb разрабатывался для удобной и быстрой автоматизации. Полее подробно об этом инструменте можно найти на официальном сайте http://www.gebish.org/