Продукт XML2Selenium - это расширяемая, плагинная платформа для создания и управления автоматизированными тестами на основе технологии Java.
XML2Selenium имеет интеграцию с JUnit, работает поверх Selenium (это изменяемо). XML2Selenim позволяет создавать автоматизированные тесты в простом и понятном обычному (без навыков программирования) QA инженеру формате. XML2Selenium позволяет также управлять всеми стадиями работы с автоматизированными тестами, начиная от стадии создания и заканчивая управлением тестами.
Главными конкурентными преимуществами являются
- низкая стоимость вхождения. Начинающие автоматизаторы, и даже QA инженеры без навыков программирования создают качественные тесты, а значит легко поддерживаемые, легко изменяемые, с использованием DDT (Data Driven Testing) подходов, что увеличивает повторно-используемость тестов
- встроенные возможности структуризации тестов по папкам и файлам, а также по тегам, что позволяет качественно отобразить документацию на тесты. Внедряя эту платформу, вы автоматически улучшаете свои процессы управления тестами
- XML2Selenium - это плагинная, расширяемая платформа, позволяющая кастомизировать процессы под ваши нужды, создать новые плагины, добавить интеграцию с нужными системами, и многое другое
- все повторно-используемые части (инклюды, плагины) могут помещаться в репозитории, откуда ими могут пользоваться QA инженеры с других проектов компании, тем самым распространяется опыт и знания в области автоматизации
- XML2Selenium имеет широкий спектр полезных свойств в области автоматизации, таких как поддержка создания видео, снепшотов и скриншотов страниц, Groovy и JS скриптинга, поддержки объектно-ориентированного программирования на XML и многих других
Традиционно многие компании не инвестируют много в QA инженеров, при этом сложность продуктов и количество Use Cases растёт, и компании утыкаются в барьер, когда архитектура тестов становится сравнительно такого же уровня, как и архитектура приложения. Это же касается и автоматизации тестирования. Ключевыми проблемами становятся:
- вопросы поддержки и тестирования многих инсталяций продукта на стороне заказчика
- вопросы тестирования нескольких версий (бренчей) одного и того же продукта
- повторн
1 of 36
Downloaded 10 times
More Related Content
Расширяемая платформа для создания и управления автоматизированными тестами на основе технологий Java и Selenium
2. Прежде чем начать
Продукт создаётся java разработчиками и архитекторами с
использованием опыта нескольких Java автоматизаторов со стажем,
адресуя задачи, которые возникали перед компанией на многих
реальных проектах
О себе: профессиональный Java разработчик с 10 летним стажем, докладчик
различных беларуских конференций на тему инженерии ПО, основатель
и руководитель Agile Java Development компании JazzTeam, имею
хороший опыт в автоматизации тестирования (принимал участие в
работе над платформой по автоматизации тестирования одной из
успешных SOA платформ http://sopera.com и др.), являюсь
организатором "Первой в Беларуси Региональной IT Конференции Solit"
http://solit.iSoligorsk.org, а также коммитером Eclipse Open Source
сообщества.
2
3. Эта презентация
• Рассказ о платформе, мотивации и возможностях
для конечного пользователя
• Рассказ об особенностях разработки платформы,
что может вдохновить Вас на использование
наших идей
Ваш feedback очень важен
3
4. Как это выглядит?
• Тесты пишутся на XML
• Пользователь работает
с отчётами
4
5. Demo доступ
• Jenkins http://dev.jazzteam.org:8080
• Username x2sdemo, password x2sdemo
• Выберите последний билд и перейдите по ссылке
“Build Artifacts”, или сразу используйте прямую
ссылку для доступа к отчётам
http://dev.jazzteam.org:8080/job/xml2selenium-reportssmoketestcases_master/57/artifact/xml2seleniumreports-manualsmoke-testcases/target/xml2selenium/
• Слева в отчётах доступны ссылки на исходный код
тест кейсов и тестов
5
6. Почему мы работаем над этим
• В большом количестве проектов, где мы участвовали, как java
разработчики, мы наталкивались на схожие проблемы
– Управление Web UI Selenium тестами со стороны менеджмента
(Индия)
– Создание поддерживаемых, читаемых Web UI тестов (Голландия)
– Рефакторинг, ООП, повторное использование Selenium тестов
(Германия, Беларусь)
– Взаимодействие между разработчиками и автоматизаторами (Россия)
• Более подробное обоснование
http://jazzteam.org/ru/products/xml2selenium-test-automationplatform/why-xml-dsl-platform-required
• Связки Selenium + Concordion, Fitnesse = по прежнему нужно
создавать fixtures
6
7. Как всё устроено
• Автоматизаторы создают тесты на XML, разбивая их по папкам
и файлам
– Запускают их локально через IDE или через Maven, проверяют, всё ли
работает
• XML > Version Control System > Jenkins Job through trigger >
XML2Selenium reports in build artifacts
7
23. Почему платформа?
• Название XML2Selenium говорит только о Web
UI/Mobile составляющей возможностей
платформы
• Нет зависимости от jenkins, junit, можно
создавать свои раннеры в разных runtimes (cloud,
Servlets, метод main, OSGI)
• Нет зависимости от Selenium, различные наборы
плагинов реализуют различные функции
23
24. Бизнес-преимущества
• Низкая стоимость
создания тестов
• Интеграция с
документацией
(@since, @version,
@ready)
• Встроенные
возможности
управления
• Тесты получаются
поддерживаемыми и
читаемыми
• Повышается reusability
• Инклюды и плагины
позволяют
генерализировать и
накапливать опыт
• Встроенные BDD/DDT
24
25. XML DSL
• Все теги – плагины
(точки расширения,
события)
• Все репорты –
плагины
• Зависимость от junit,
web driver - плагин
25
26. XML DSL
• Для всех наборов
плагинов (DB, Web UI,
SOA) поддерживаются
(основа языка):
– Переменные
– Контексты переменных
– Параметризированные
методы (фреймы)
– Импорты
– Groovy скриптинг в
атрибутах и в отдельном
теге
– Возможность делать assert
– Теги iterate, if, resource
– Теги before, after
– Возможность наследования и
переопределения фреймов и
любых элементов с атрибутом ref
– Самотестирование (expected)
– Интеграция с документацией
(тегирование, иерархичное
разбиение на папки и файлы,
атрибуты @since, тег bdd)
– 2 стандартных отчёта по
умолчанию с отдельными
артифактами для каждого тега
– Система логгирования, для
каждого теста и тест кейса – свой
лог
26
27. Web UI
• Набор тегов/плагинов для
всех базовых элементов
• Тег webelement
поддерживает различные
действия и локаторы
– Id, subId, Xpath, CSSSelector,
tagName
– Проверить, что элемент
существует
– Считать атрибут или текст
– Осуществить действие с
элементом (нажать и т.д.)
• Работа с JavaScript
• Screenshot/Snapshot/Vi
deo
• По сути – обёртка над
возможностями
Selenium/WebDriver
– Работа с мышью
– Асинхронный JS
– WaitFor
27
28. Возможности отчётов
• Вся информация о всех
тестах в одном месте
• Фильтрация, тегирование
• Доступ к описаниям,
исходному коду
• Доступ ко всем артифактам –
логи, скриншоты и т.д.
• Возможность получить
понятную пользователю
информацию об исключении
• Навигирование по иерархии
тестов
• Отчёт в формате BDD
• По наведении на
конкретный элемент
дерева – виден исходный
код этого участка
• Можно использовать
русский язык
• Нет непонятных
исключений, названий
классов, методов
• Выделение цветом
28
32. Как это сделано?
• Процессы: git, gerrit,
jenkins, maven, java,
agile/scrum, DDT, TDD
• Плагинность: reflexion,
classpath, classloaders
• Репорт: XML + XSLT =
static HTML (в данный
момент)
• DSL: XSD, JAXB
• Plugins: smth. like
eclipse plugins
• Plugins repos: nexus
• Тестирование: unit
tests,
автотестирование,
тестирование собой
своих же отчётов
32
33. Другие фишки
• Все плагины и инклюды
– maven проекты =>
могут быть помещены в
nexus репозитории –
приватные и публичные
• Thread saved
• Плагины автоматически
обнаруживаются в
classpath
• Загрузка данных из
ресурсов, хранилищ
данных, помещение
по ключам в контекст
теста
• Разделение логов по
тест кейсам, тестам
• Public API, Java Docs
33
34. Планы на будущее
• Cloud solution
– Jenkins
– Web UI SAAS
– ? Интеграция с
http://www.saucelabs.com
• XML2Selenium IDE
– Only clicks no XML
• Развитие репортов
– Статистика по билдам
– Срезы за месяц, год
• Другие наборы плагинов
– DBs
– Mobile
• Public Nexus репозиторий
для инклюдов и плагинов
• Open Source
• Маркетинг и бизнесразвитие
– Xml2selenium.com
– Xml2selenium.net
34
35. Дополнительная информация
• http://jazzteam.org/ru/products/xml2selenium-testautomation-platform
• http://jazzteam.org/ru/products/xml2selenium-testautomation-platform/why-xml-dsl-platform-required
• Доклад на конференции Solit-2013 Создание продукта
для автоматизации тестировании. Что нужно
учитывать, чтобы создать технологическую
платформу. Разбор конкретного примера – продукта
XML2Selenium
• Доклад на конференции Solit-2013 Эволюция
тестирования на Selenium
35