В чем разница между средами тестирования Geb и Spock - PullRequest
1 голос
/ 24 июня 2019

Я новичок в области разработки программного обеспечения и хочу расширить свои знания по автоматизации тестирования.Я много читал об основах тестирования Geb и Spock, но не пришел к выводу, для чего они.

Правильно ли я:

Геб для объектов страницы (статическое покрытие селекторов страниц пользовательского интерфейса, элементов и т. Д.)

Спок для написания порядка проверки (Случаи /Шаги для тестирования) (также может запускать тесты API, имитировать данные, параметризованные конечные точки, значения и т. Д.)

-> Какие другие различия у них есть?Я уже проверил обе документации, но не могу понять.

Я буду признателен за каждый практический совет или пример, различия между ними также, потому что я рассмотрел много вещей, но есть только теоретические примеры, но основной уловЯ не получил его.

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 24 июня 2019

Geb - это решение для автоматизации браузеров и веб-приложений.Вы можете использовать его для проверки работоспособности ваших веб-страниц.Geb может автоматически запускать веб-страницу, заполнять поля формы и нажимать кнопки на веб-странице.С официального сайта:

«Он может быть использован для создания сценариев, очистки и общей автоматизации - или в равной степени в качестве решения для функционального / веб-тестирования / приемочного тестирования посредством интеграции с инфраструктурами тестирования, такими как Spock, JUnit & TestNG».

Подвох для Geb - это веб-автоматизация.

Подвох для Spock в том, что это среда тестирования и спецификации.

Примеры

Вы можете Geb сделать следующее:проверьте следующее:

  • Когда вы открываете mywebsite.com/login и вводите неправильное имя пользователя или пароль, должно появиться сообщение об ошибке, скажем, в div.

  • Когда вы откроете mywebsite.com/submitData, заполните название товара и цену и нажмете кнопку «Отправить», ожидайте сообщение с надписью «Спасибо, общее количество товаров теперь 5»

0 голосов
/ 25 июня 2019

GEB построен поверх библиотеки WebDriver и совместим со всеми браузерами и драйверами, которые работают с WebDriver.

Наиболее часто используемый способ достижения автоматизации пользовательского интерфейса - это реализация шаблона проектирования объектной модели страницы, Geb поддерживает объектную модель страницы, реализуя весь код базовой платы в своем классе «страницы». Пользовательские страницы в Automation Framework необходимы для расширения этого класса Page, чтобы получить доступ к готовым функциям и замыканиям. Некоторые дополнительные баллы:

  • Он использует API навигатора jQuery-ish для идентификации элементов на странице.

  • Существует готовый объект 'js', который позволяет вам выполнять JavaScripts на вашей странице.

  • Существуют закрывающие элементы, которые позволяют переключаться на другое окно / iFrame / оповещение на вашей веб-странице
  • Упрощенная обработка выпадающих меню, переключателей, загрузок файлов, флажков и т. Д.
  • Вводит блоки 'Interact', которые создают и выполняют пользовательские действия (с помощью класса Action API Selenium WebDriver)
  • Файл geb.config позволяет разработчику добавить поддержку нескольких сред, драйверов, отчетов, ожидания и т. Д.

Узнайте больше о Гебе в Книге Геба

SPOCK, с другой стороны, является средой тестирования и спецификации BDD, созданной на основе таких сред, как JUnit, jMock, RSpec, Groovy, Scala, Vulcans и т. Д.

SPOCK очень совместим с Geb и предоставляет класс 'GebReportingSpec', который должен быть расширен тестовыми классами для установления совместимости с Geb

...