Вы находитесь на странице: 1из 2

4.

Структура проекта автотестов


Структура папок и файлов проекта следующая:
 config – параметры сред, в которых запускаются тесты
 features – тестовые сценарии, реализации шагов сценариев и прочие
вспомогательные файлы
 resources – файлы необходимые для выполнения сценариев (например для
вложения и отправки)
 screenshots – скриншоты сделанные во время выполнения тестов
 cucumber.yml – параметры для Cucumber
 Gemfile – файл с списком необходимых гемов проекта
 Gemfile.lock – файл с списком необходимых гемов проекта с их версией и
зависимостями
 run_cucumber.sh – файл для запуска тестов
4.1. Папка config
Параметры и настройки хранятся в папке config
В ней расположены подпапка environments и файл settings.yml
В подпапке environments yml-файлы с параметрами для разных сред:
 development – разработческая
 local – локальный запуск
 integration – запуск на интеграционной среде
 prelive – запуск на прелайв среде
 prod – запуск на продуктовой среде
В каждом файле прописаны следующие важные параметры для запуска
HOST – url среды на которой будут гонятся тесты
HUB_URL – url хаба Selenium Grid
В файле settings.yml прописаны
 параметры окна запускаемого браузера
 параметры для Capybara – время ожидания по умолчанию, путь к скринам
4.2. Папка features
Сценарии на Gerkhin, реализации шагов сценариев и прочие вспомогательные
файлы хранятся в папке featuresю
4.2.1. Структура
В ней расположены подпапки
 Features, в которой хранятся features-файлы с сценариями на Gerkhin
 step_definitions, в которой хранятся rb-файлы, реализации шагов сценариев на
Ruby
 support, в которой хранятся различные вспомогательные файлы, страницы
PageObject, а также файлы hooks.rb и env.rb.
4.2.2. Папка Features
Раньше все файлы features хранились в ней. Теперь было решено раскидать их
по подпапкам, в зависимости от типа сценариев – проверок UI или проверок API бека.
Соответственно и подпапки называются – UI Features и API Features.
Внутри UI Features файлы распределены по папкам
Business Events Features
Card Emission Features
Card Order Features
Role Model Features
То есть у нас имеется два больших бизнес процесса
Заказ карты
Выдача карты
Внутри каждой папки …
4.2.3. Папка step_definitions
Раньше также как и с feature файлами, все файлы Ruby лежали в одной папке,
теперь решено было их поделить на API Steps и UI Steps
4.2.4. Папка support
Тут расположены следующие папки и файлы
Helpers
 Api…
Pages
Env.rb -
Hooks.rb
О них мы поговорим далее более подробно
4.3. Файл Cucumber.yml

4.4. Файл run_cucumber.sh

4.5. Файл env.rb


Файл env.rb — ключевой rb файл для запуска UI тестов. При инициализации
переменных и файлов теста именно env.rb будет самым первым. В нем происходит
регистрация браузера, на котором будут выполняться тестики.

4.6. Файл hooks.rb


Cucumber перед выполнением того или иного сценария, вызывает секцию
Before do … end. А после завершения сценария — After do … end. Если вы помните, то
Cucumber поддерживает работу с тегами, т. е. мы можем указать перед сценарием
какое-нибудь имя тега и в секции «Before» устанавливать драйвер для Capybara. Так
же можно выводить названия не пройденных тестов из раздела «After», или
отправлять письма, отчеты и так далее.

https://www.testdevlab.com/blog/2018/02/adding-browser-logs-to-your-capybara-
cucumber-ui-test-report/