Способы организаций больших java проектов по...

17
Способы организации больших Java проектов по автоматизированному тестированию Иван Соболевский www.DPI.Solutions Issoft / Coherent Solutions COMAQA.by

Upload: comaqaby

Post on 18-Feb-2017

3.505 views

Category:

Technology


0 download

TRANSCRIPT

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

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

Иван Соболевскийwww.DPI.SolutionsIssoft / Coherent SolutionsCOMAQA.by

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

О себе

Иван Соболевский

• IT consultant www.DPI.Solutions

• QA Automation Engineer ISsoft / Coherent Solutions

• COMAQA.by activist

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

А есть ли проблема?

• Новый проект – новый фреймворк?• Смежный проект – много копипасты?• Внесение изменений в один проект не

отображается на смежные• Где-то я уже это писал

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

Что обычно делают:

- Создают локальную заготовку и клонируют- Копируют части из смежного/прошлого проекта- Хранят заготовку на гитхабе или других системах контроля версий, и делают клон- Создают в виде артефакта в maven- …

Проблемы? - изменения одного проекта не затрагивают смежные - в старых проектах код устаревает - прочие проблемы связанные с копированием

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

Что нам надо:

- Соблюдать принцип “Do not repeat yourself”

- Версионность- Сделать бесплатно

Выход?

Создание полноценного maven проекта с ядром будущих фреймворков.

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

- Waiters- File utils- Date \ Time utils- Screenshoting – reporting- Database wrappers- Proxy- WebDriver wrappers- Dependencies- Plugins- Concurrent implementation- И многое другое

Что может включать ядро?

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

Приступим:Платформа – Ubuntu server (ведь мы хотим бесплатно):- Достаточно простой виртуальной машины без UI

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

Maven репозиторий:

Maven репозиторий с точки зрения хранения – довольно простая файловая структура c доступом по протоколу http

Теперь нам необходимо настроить веб сервер, таким образом,чтобы был доступ на чтение файлов.

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

Обновление ядра фреймворка:pom.xml

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

Важно помнить:

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

Автоматизируем :-)На той же виртуалке развернем CI сервер.

Jenkins – бесплатный, «народный».

ci.sabaleuski.com

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

Automatic deploy configuration

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

Структура репозитория:

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

Использование:

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

В итоге:http://github.com - исходникиhttp://maven.sabaleuski.com/maven2 - сам репозиторийhttp://ci.sabaleuski.com – Jenkins для автоматического деплоя

А также чистый фреймворк

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

Page ObjectsTests

WebDriver DB

Utils etc.

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

Спасибо! Вопросы!

Иван Соболевский

ISsoft / Coherent Solutionswww.issoft.by

DPI Solutionswww.dpi.solutions

Belarus QA Automation Communitywww.comaqa.by