Как разработать платформу автоматизации тестирования с нуля?

В этом пошаговом руководстве я опишу, как разработать модульную платформу автоматизации тестирования с нуля с использованием Java, Selenium, TestNG и Maven.

Для начала давайте посмотрим, что такое среда автоматизации тестирования и каковы преимущества ее создания.

Фреймворк автоматизации тестирования

Какова цель инфраструктуры автоматизации тестирования? Какие задачи это решает для команды разработчиков?

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

Рефакторинг кода - неотъемлемая часть разработки программного обеспечения, позволяющая избежать накопления огромного технического долга. Это также относится к автоматизации тестирования; Реорганизуя свои автоматизированные скрипты, вы улучшите читаемость и поддержку в долгосрочной перспективе.

В этом руководстве по Test Automation Framework конечный продукт является результатом множества рефакторингов с течением времени. Очевидно, что постоянное совершенствование необходимо, если мы хотим получить хорошую отдачу от инвестиций в автоматизацию тестирования.



При создании среды автоматизации тестирования мы должны учитывать следующие основные моменты:

  • Быстро создавать автоматизированные тесты, используя соответствующие уровни абстракции.
  • Фреймворк должен иметь осмысленную структуру ведения журналов и отчетности.
  • Должен быть легко обслуживаемым и расширяемым
  • Должно быть достаточно просто, чтобы тестировщики могли писать автоматизированные тесты
  • Механизм повтора для повторного запуска неудачных тестов - это особенно полезно для тестов пользовательского интерфейса WebDriver.

В этом уроке я буду использовать:

  • Ява как язык программирования
  • TestNG в качестве основы утверждения
  • Maven как инструмент сборки
  • WebDriver как инструмент автоматизации браузера
  • IntelliJ как IDE

Это руководство по Test Automation Framework разделено на две части:

Часть 1: Создание базового проекта, модулей и зависимостей

Часть 2: Добавление кода

В части 1 этого руководства я предполагаю, что на вашем компьютере уже установлены Java и Maven.

Шаги по созданию инфраструктуры автоматизации тестирования с нуля

Шаг # 1 - Создайте новый проект maven

Откройте IntelliJ IDE и выберите в меню «Новый проект». Затем вам будет представлен экран для выбора типа интересующего вас проекта.

Шаг № 2 - Дайте вашему проекту имя

Выберите Maven в качестве типа проекта. Укажите имя для GroupId и ArtifatId - я решил назвать эту среду автоматизации тестирования Rima.

Шаг № 3 - Выберите место для вашего проекта

Теперь выберите имя для своего проекта и выберите каталог для своей рабочей области.

Шаг №4 - Базовый проект создан

Теперь у вас есть базовый проект. Мы можем начать создавать модули maven в этом проекте, чтобы организовать структуру нашей Test Automation Framework.

А так выглядит наш pom.xml

Поскольку это будет наш базовый проект с родительским файлом pom.xml, у нас не будет кода в этом проекте. Вместо этого мы создадим maven-модули для разных частей Test Automation Framework. Идите вперед и удалите src папка.

Шаг № 5 - Создайте разные модули

Теперь мы можем создавать различные модули maven для нашей платформы. Мы создадим следующие модули:

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

rima-домен - этот модуль содержит классы предметно-ориентированного языка (DSL).

rima-page-объекты - как следует из названия, этот модуль содержит объекты страницы.

Рима-регрессионные тесты - и, наконец, наши автоматические регрессионные тесты.

Начнем с создания рим-каркас модуль. Для этого выберите Файл> Создать> Модуль

Выберите модуль Maven и нажмите Далее.

На следующем экране вы можете указать artifactId создаваемого модуля, в этом случае рим-каркас

Отметьте родительский модуль и groupId как Rima и нажмите Next, где мы можем указать имя модуля и нажать Finish.

Один раз рим-каркас модуль создан, он должен выглядеть примерно так

Затем мы можем продолжить создание остальных модулей таким же образом. После того, как мы создали все модули, наш проект должен выглядеть, как показано ниже.

И наконец, все модули добавлены в корень pom.xml

Добавить зависимости

Затем нам нужно добавить зависимости между модулями в структуре, а также добавить библиотеки и другие проекты maven, от которых зависит наша платформа автоматизации тестирования.

Я добавил зависимости в файлы pom.xml. Вы можете взглянуть на файлы pom.xml в моем репозитории GitHub:

https://github.com/AmirGhahrai/Rima

Во второй части этого руководства мы рассмотрим фактический код Test Automation Framework, написанный на Java, WebDriver и TestNG.

И вот ссылка на часть 2 этого руководства:

Структура объектной модели страницы с Java и WebDriver

Дальнейшее чтение: