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

2.

Инфраструктура
2.1. Bitbucket
Bitbucket — веб-сервис для хостинга проектов и их совместной разработки,
основанный на системе контроля версий Mercurial и Git. По назначению и основным
предлагаемым функциям аналогичен GitHub, от которого отличается с одной стороны
меньшей пользовательской базой, а с другой, имеет определённые преимущества в
плане размещения непубличных репозиториев.
Тут хранится проект с автотестами
2.1.1. Версии проектов
Существует два версии проекта с автотестами
Один хранится локально на компе, для разработки и отладки автотестов. Можно
запускать локально у себе в браузере.
Второй хранится в репозиторий Битбакета, с него запускаются автотесты на
гриде.
После того как автотесты будут написаны и проверены локально, их переносят с
локального репо в репу Битбакета.
2.1.2. Ветки
Существуют следующие ветки
 Master – изменения идут на интеграцию и в прод
 Dev – изменения идут на тестовую, разработческую среду
2.2. Jenkins
Jenkins – это программное обеспечение, обеспечивающее непрерывную
интеграцию
2.2.1. Пайплайны
Jenkins Pipeline — это сочетание заданий для непрерывной доставки
программного обеспечения с использованием Jenkins.
Jenkins Pipeline позволяет создавать сценарий сборки, состоящий из одной или
нескольких задач, и визуально отслеживать рабочий процесс. Можно увидеть, какие
задания уже запущены или все еще находятся в очереди на исполнение.
2.2.2. Сборки
На нашем проекте в зависимости от того на какую среду идет раскатка новой
сборки приложения пайплайн состоит из разных этапов. В каждом из них есть этап
запуска автотестов. Это очень удобно, раскатил новую версию, прогнал автотесты и
можешь сразу увидеть, что где упало или не упал
Соответственно на дев стенде гоняются одни тесты, а на интеграции другие.
Сразу хочу сказать, что в силу специфики архитектуры и проекта, на интеграции
невозможна постоянная прогонка всех автотестов
2.2.3. Прогон автотестов
Как уже говорил ранее автотесты можно запускать локально и через сборку
Jenkins на гриде
Для того чтоб запустить через Jenkins достаточно нажать на кнопку «Собрать»
2.3. Selenium Grid
Selenium Grid - мощный инструмент, позволяющий запустить выполнение ваших
тестов на несколько машин. Предоставляет возможность управлять несколькими
средами из центральной точки, что позволяет легко запускать тесты с большим
сочетанием браузеров и ОС.
Selenium Grid позволяет запускать тесты на разных машинах в разных браузерах
параллельно.
В основном Selenium Grid используют по нескольким причинам:
 Для распараллеливания запуска тестов на различных операционных системах, в
различных браузерах;
 Для того, чтобы уменьшить общее время прогона тестов.
На нашем проекте используется для параллельного запуска тестов. Более
подробно о нем поговорим далее.