Найти в Дзене
QA Way - QA Automation

TestNG groups или группы тестирования

Оглавление

Сегодня обсудим одну полезную фичу фреймворка TestNG. Она называется groups или группы тестирования. С помощью групп тестирования в TestNG тесты можно объединить в группы. Это позволяет тестировщику выбирать, какие из них в какой момент запускать, а какие игнорировать. Кроме того, есть возможность объединять несколько тестовых групп в одну, а также использовать регулярные выражения и многое другое.

Что такое тестовые группы в TestNG?

Группы в TestNG существуют для объединения различных тестов. Они объединяются в одну тестовую группу для выполнения этих тестов вместе. Для этого достаточно будет просто запустить одну простую команде. Тесты могут находится внутри одного класса или принадлежать к разным классам.

  • В рамках одного тестового проекта у вас могут быть UI тесты, проверяющие пользовательский интерфейс. Ещё могут быть API проверяющие взаимодействие с backend частью, минуя интерфейс пользователя. Для удобства запуска их можно отнести к различным тестовым группам.
  • Ещё тесты могут относится к различной функциональности. В этом случае можно указывать отдельные группы для каждой функциональности.
  • Внутри каждой из предыдущих групп могут быть smoke, acceptance и regression тесты. Для них тоже удобно иметь отдельные группы.

TestNG также позволяет нам группировать тесты внутри групп. Такая группировка избавляет нас от необходимости определять большое количество классов в исходном коде тестов и затем запускать эти классы по отдельности, что позволяет экономить время.

TestNG для тестировщика автоматизатора.

Курс знакомит тестировщиков ПО с часто встречающимися задачами при тестировании backend приложений. На примере простого микро сервиса вы увидите что собой представляет REST API. Какие основные подходы для тестирования ПО используются при его проверках. С помощью каких инструментов и библиотек пишутся автотесты и создаются тестовые фреймворки.

Начать обучение

Разметка групп производится внутри аннотации @Test. Для этого используется параметр groups. Группировка тестов реализуется в файле testng.xml. Группы можно указать внутри тэгов или . Помните, что тестовые группы, определенные в теге , применяются только к этому конкретному тесту. Группы тестов, определенные в теге , применяются ко всем тестам в XML-файле. Например, в данном случае, мы определили группу Smoke внутри тега "suite", как в следующем примере:

Поскольку "groups" находится внутри тега suite, он запустит все тесты в XML-файле. Для второго случая смотрите следующую настройку, как в приведенном далее коде:

-2

Теперь группы будут работать только внутри тега test с именем Groups test.

Как создавать группы?

Давайте создадим несколько тестовых методов, чтобы на примере посмотреть как работать с тестовыми группами в TestNG. Добавим первый тестовый класс:

-3

Созданный класс содержит три тестовых метода. Каждый из них содержит аннотацию @Test из TestNG. Тестовые группы указаны в парметре groups. Для первого тестового метода это группы Smoke, Acceptance и Regression. Для второго метода указаны тестовые группы Acceptance и Regression. Для третьего указана одна группа тестов TestNG с именем Regression. Создадим еще один тестовый класс. Он будет содержать такие же автотесты и будет отличаться только названием:

-4

Запуск группы автотестов в TestNG

Запуск группы тестов в TestNG можно сделать несколькими способами. Можно сделать это через IDE. Например в Intellij Idea для этого нужно создать соответствующую TestNG конфигурацию запуска:

-5

В ней нужно указать, что запускать нужно группу. Для этого в выпадающем списке Test kind выбираем Group. В параметре Group указываем название группы, в нашем случае это группа Smoke. После запуска с такой конфигурацией у нас запустятся два теста:

-6

Второй вариант запуска - через файл testng.xml. Укажем в нём наши созданные классы и тестовую группу Smoke:

-7

После запуска мы получим следующий результат:

-8

Источник