Способы организации больших Java
проектов по автоматизированному
тестированию
Иван Соболевский
www.DPI.Solutions
Issoft / Coherent Solutions
COMAQA.by
О себе
Иван Соболевский
• IT consultant
www.DPI.Solutions
• QA Automation Engineer
ISsoft / Coherent Solutions
• COMAQA.by activist
А есть ли проблема?
• Новый проект – новый фреймворк?
• Смежный проект – много копипасты?
• Внесение изменений в один проект не
отображается на смежные
• Где-то я уже это писал 
Что обычно делают:
- Создают локальную заготовку и клонируют
- Копируют части из смежного/прошлого проекта
- Хранят заготовку на гитхабе или других системах контроля версий, и делают клон
- Создают в виде артефакта в maven
- …
Проблемы?
- изменения одного проекта не затрагивают смежные
- в старых проектах код устаревает
- прочие проблемы связанные с копированием
Что нам надо:
- Соблюдать
принцип “Do not
repeat yourself”
- Версионность
- Сделать бесплатно
Выход?
Создание полноценного
maven проекта с ядром
будущих фреймворков.
- Waiters
- File utils
- Date  Time utils
- Screenshoting – reporting
- Database wrappers
- Proxy
- WebDriver wrappers
- Dependencies
- Plugins
- Concurrent implementation
- И многое другое
Что может включать ядро?
Приступим:
Платформа – Ubuntu server (ведь мы хотим бесплатно):
- Достаточно простой виртуальной машины без UI
Maven репозиторий:
Maven репозиторий с точки зрения хранения –
довольно простая файловая структура c доступом по
протоколу http
Теперь нам необходимо настроить веб сервер, таким образом,
чтобы был доступ на чтение файлов.
Обновление ядра фреймворка:
pom.xml
Важно помнить:
Автоматизируем :-)
На той же виртуалке развернем CI сервер.
Jenkins – бесплатный, «народный».
ci.sabaleuski.com
Automatic deploy configuration
Структура репозитория:
Использование:
В итоге:
http://github.com - исходники
http://maven.sabaleuski.com/maven2 - сам репозиторий
http://ci.sabaleuski.com – Jenkins для автоматического деплоя
А также чистый фреймворк 
Page Objects
Tests
WebDriver DB
Utils etc.
Спасибо! Вопросы!
Иван Соболевский
ISsoft / Coherent Solutions
www.issoft.by
DPI Solutions
www.dpi.solutions
Belarus QA Automation
Community
www.comaqa.by

Способы организаций больших Java проектов по Автоматизированному тестированию

  • 1.
    Способы организации большихJava проектов по автоматизированному тестированию Иван Соболевский www.DPI.Solutions Issoft / Coherent Solutions COMAQA.by
  • 2.
    О себе Иван Соболевский •IT consultant www.DPI.Solutions • QA Automation Engineer ISsoft / Coherent Solutions • COMAQA.by activist
  • 3.
    А есть липроблема? • Новый проект – новый фреймворк? • Смежный проект – много копипасты? • Внесение изменений в один проект не отображается на смежные • Где-то я уже это писал 
  • 4.
    Что обычно делают: -Создают локальную заготовку и клонируют - Копируют части из смежного/прошлого проекта - Хранят заготовку на гитхабе или других системах контроля версий, и делают клон - Создают в виде артефакта в maven - … Проблемы? - изменения одного проекта не затрагивают смежные - в старых проектах код устаревает - прочие проблемы связанные с копированием
  • 5.
    Что нам надо: -Соблюдать принцип “Do not repeat yourself” - Версионность - Сделать бесплатно Выход? Создание полноценного maven проекта с ядром будущих фреймворков.
  • 6.
    - Waiters - Fileutils - Date Time utils - Screenshoting – reporting - Database wrappers - Proxy - WebDriver wrappers - Dependencies - Plugins - Concurrent implementation - И многое другое Что может включать ядро?
  • 7.
    Приступим: Платформа – Ubuntuserver (ведь мы хотим бесплатно): - Достаточно простой виртуальной машины без UI
  • 8.
    Maven репозиторий: Maven репозиторийс точки зрения хранения – довольно простая файловая структура c доступом по протоколу http Теперь нам необходимо настроить веб сервер, таким образом, чтобы был доступ на чтение файлов.
  • 9.
  • 10.
  • 11.
    Автоматизируем :-) На тойже виртуалке развернем CI сервер. Jenkins – бесплатный, «народный». ci.sabaleuski.com
  • 12.
  • 13.
  • 14.
  • 15.
    В итоге: http://github.com -исходники http://maven.sabaleuski.com/maven2 - сам репозиторий http://ci.sabaleuski.com – Jenkins для автоматического деплоя А также чистый фреймворк 
  • 16.
  • 17.
    Спасибо! Вопросы! Иван Соболевский ISsoft/ Coherent Solutions www.issoft.by DPI Solutions www.dpi.solutions Belarus QA Automation Community www.comaqa.by