Основные компоненты фреймворка

Основные компоненты фреймворка

В предыдущей статье мы рассмотрели процесс настройки тестового фреймворка. Проект можно скачать по уже известной ссылке. Сейчас  речь пойдет  об основных компонентах проекта.

Основные компоненты:

vs-1

  • Common\BasePage.cs — базовый классы для описания PageObject страниц. Он содержит вспомогательные методы поиска элементов на странице при помощи селекторов.
  • Common\BaseTest.cs — базовый класс для всех автоматизированных тестов. Содержит логику запуска и остановки браузера для выполнения тестов.
  • PageObjects — директория содержит описание страниц клиентского приложения. Сраница Page Object инкапсулирует в себе объявление элементов страницы и действия, которые можно выполнить на странице.
  • Директория SearchPageTests — содержит кейсы для выполнения тестов (в нашем случае поиск).

Тест GoogleSearchResultTest состоит из шагов — Step(). Шаг может выполнить действие и проверить выполнение некоторого утверждения. Можно увидеть, что этот метод имеет на входе системный делегат Action:

Ниже приведен код теста:

Отчет об ошибке

Если во время теста произошла ошибка — например, не был найден какой-то элемент, то в директорию, указанную в app.config, будет сохранен скриншот страницы, название теста, шага и html страница с ошибкой. Для теста вы можете задать неправильный локатор и ждать, пока тест упадет.

vs-2

Использование нескольких брайзеров

Также отличительной чертой фреймворка есть то, что в классе фабрики BrowserFactory используется несколько брайзеров. Ниже приведен метод: