![Page 1: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/1.jpg)
ПроблематикаТрадиционно многие компании не делают достаточных инвестиций в QA инженеров, при
этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в барьер, когда архитектура тестов становится сравнительно такого же уровня, как и архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми проблемами становятся:
- вопросы поддержки и тестирования многих инсталяций (внедрений) продукта на стороне заказчика
- вопросы тестирования (в том числе, regression) нескольких версий (бренчей, релизов) одного и того же продукта
- повторно-используемость наработок в тестах (всегда есть сложные случаи, к примеру, file upload через ajax)
- в том числе, и с разных проектов
- возможность быстро изменять данные в тестах (чтобы применить тесты к другой инсталяции)
- возможность быстро поменять значения, или даже логику use case
- необходимость управлять покрытием и матчить selenium тесты на реальные бизнес-кейсы
![Page 2: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/2.jpg)
Введение
Запуск через junit
![Page 3: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/3.jpg)
Так выглядят тестыИспользование импортов, плагинов, инклюдов – Frame, а также скриптинга
![Page 4: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/4.jpg)
Так выглядят тестыСкриптинг и JVM параметры. Взять скриншот.
![Page 5: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/5.jpg)
Так выглядят тестыИмпорты, теги, различные действия над элементом
![Page 6: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/6.jpg)
Так выглядят тестыНаследование, переопределение атрибутов
![Page 7: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/7.jpg)
Так выглядят тестыНаследование от общего к частному
![Page 8: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/8.jpg)
Так выглядят тестыВозможности самотестирования
![Page 9: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/9.jpg)
Так выглядят тесты
![Page 10: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/10.jpg)
Так выглядят тестыЗагрузка переменных из файла, самотестирование
![Page 11: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/11.jpg)
ВведениеВ фреймворк заложены возможности самотестирования
![Page 12: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/12.jpg)
Введение
![Page 13: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/13.jpg)
ВведениеСтруктура проекта
![Page 14: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/14.jpg)
Введение
Количество билдов, тестов, а также демонстрацияплагинности
![Page 15: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/15.jpg)
Введение
![Page 16: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/16.jpg)
Введение
![Page 17: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/17.jpg)
ВведениеДерево событий
![Page 18: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/18.jpg)
Введение
![Page 19: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/19.jpg)
ВведениеПостроение дерева результатов для последующей обработки плагинами
![Page 20: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/20.jpg)
ВведениеПостроение деревьев разбора
Имя конкретного тест кейса
![Page 21: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/21.jpg)
ВведениеOutput папка для каждого теста
Самотестирование
![Page 22: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/22.jpg)
ВведениеЗадаём, для каких тестов какие ошибки выполнения должны быть
![Page 23: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/23.jpg)
Введение
Облако тегов, тест кейсы и тесты, описания,Статус тестов
![Page 24: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/24.jpg)
Введение
![Page 25: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/25.jpg)
Введение
![Page 26: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/26.jpg)
ВведениеПолный режим вывода исключений
![Page 27: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/27.jpg)
ВведениеUser-mode отображения результатов
![Page 28: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/28.jpg)
Сейчас/пользователь- возможность создавать качественные тесты непрограммисту
- без копи-пастов
- легко видоизменяемые
- скриптинг внутри выраженний, контексты и области видимости
- поддержка data driven
- variables
- properties (resource bundles)
- наследование в xml
- reporting
- возможность создавать отличные от junit репорты - сейчас существует business reporting
- умный логгинг
- понятные пользователю логи, exceptions messages
- в исключениях представление иерархии инклюдов, как стек трейс
- плагины
- все базовые плагины для тестирования web приложений
- navigate
- ...
- снэпшоты, скриншоты
- валидация тест кейсов
![Page 29: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/29.jpg)
Сейчас/технология- возможность само-тестировать поведение, то есть писать тесты для фреймворка на этом же языке
- expected exception/exception message для всех тестов
- плагинность
- точки расширений, простое API, позволяющее расширять фреймворк новыми тегами, а также видоизменять поведение фреймворка
- разбиение по тегам
- репозитории плагинов и xml-инклюдов на основе maven + nexus
- интеграция с selenium
- отсутствие зависимости от selenium, потенциальная возможность использовать другой инструмент
- интеграция с junit + jenkins
- независимость от junit, jenkins, maven
- возможность создания своих раннеров, которые смогут кастомизировать работу фреймворка - веб раннер
- масштабизация на клауд
- thread saved, возможность запуска сколько угодно версий ядра, запись данных в разные output директории
- возможность создавать тесты, в которых запускается ядро для прогона одного теста на xml с последующим программным анализом результатов
- репорты для бизнес-пользователя в стиле bdd, какой угодно формат репортов
- tags
- ссылка на изначальный код тестов в виде XML
- минимум программирования - jaxb
- возможность написания плагинов без XSD, просто как java бины
- преимущества для коробочных продуктов
- возможность изменять properties для одного и того же набора XML тестов
![Page 30: Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium](https://reader033.vdocuments.mx/reader033/viewer/2022061214/549e755fac79594c768b477d/html5/thumbnails/30.jpg)
Будущее/все- XML2Selenium platform
- заложена архитектура для поддержки направления load testing
- возможность удалённого дебага на сервере не на уровне java кода фреймворка, но на уровне xml test cases
- infrustructure
- eclipse plugin - simple editor for creating new tests even without knowing xml
- validation
- advanced validation - валидация комбинаций xsd + java beans
- data driven testing
- рандомизация данных
- plugins
- поддержка if/for тегов для XML тестов
- technical reporting plugin
- возможность обмениваться переменными между контекстами тестов и script-вставках на java script или groovy
** product company
- преимущества для коробочных продуктов
- держать 1 бренч тестов, просто маркируя разные версии под разные бренчи продукта