Способы организаций больших java проектов по...
TRANSCRIPT
Способы организации больших Java проектов по автоматизированному тестированию
Иван Соболевскийwww.DPI.SolutionsIssoft / Coherent SolutionsCOMAQA.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 ObjectsTests
WebDriver DB
Utils etc.
Спасибо! Вопросы!
Иван Соболевский
ISsoft / Coherent Solutionswww.issoft.by
DPI Solutionswww.dpi.solutions
Belarus QA Automation Communitywww.comaqa.by