1 / 36

Расширяемая платформа для создания и управления автоматизированными тестами на основе технологий Java и Selenium

u0420u0430u0441u0448u0438u0440u044fu0435u043cu0430u044f u043fu043bu0430u0442u0444u043eu0440u043cu0430 u0434u043bu044f u0441u043eu0437u0434u0430u043du0438u044f u0438 u0443u043fu0440u0430u0432u043bu0435u043du0438u044f u0430u0432u0442u043eu043cu0430u0442u0438u0437u0438u0440u043eu0432u0430u043du043du044bu043cu0438 u0442u0435u0441u0442u0430u043cu0438 u043du0430 u043eu0441u043du043eu0432u0435 u0442u0435u0445u043du043eu043bu043eu0433u0438u0439 Java u0438 Selenium

JazzTeam
Download Presentation

Расширяемая платформа для создания и управления автоматизированными тестами на основе технологий Java и Selenium

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Горячко Дмитрий Расширяемая платформа для создания и управления автоматизированными тестами на основе технологии Java.

  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-reports- smoketestcases_master/57/artifact/xml2selenium- reports-manualsmoke-testcases/target/xml2selenium/ • Слева в отчётах доступны ссылки на исходный код тест кейсов и тестов 5

  6. Почему мы работаем над этим • В большом количестве проектов, где мы участвовали, как java разработчики, мы наталкивались на схожие проблемы – Управление Web UI Selenium тестами со стороны менеджмента (Индия) – Создание поддерживаемых, читаемых Web UI тестов (Голландия) – Рефакторинг, ООП, повторное использование Selenium тестов (Германия, Беларусь) – Взаимодействие между разработчиками и автоматизаторами (Россия) • Более подробное обоснование http://jazzteam.org/ru/products/xml2selenium-test-automation- platform/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

  8. Доступ к отчётам из Jenkins 8

  9. Business report: теги, фильтры, папки 9

  10. Business report: основная таблица 10

  11. BDD report: для менеджеров 11

  12. BDD report: bdd плагин 12

  13. BDD report: различные комбинации 13

  14. Репорты: техническая информация 14

  15. BA-User-Friendly интеграция с Junit 15

  16. BA-User-Friendly интеграция с Junit 16

  17. Примеры XML Импорты, теги, наследование, считать значение в переменную, JVM параметры 17

  18. Примеры XML Groovy scripting, Java Script, общий контекст между XML и JS 18

  19. Примеры XML Фреймы, цикл, селекторы 19

  20. Примеры XML Before, After, самотестирование 20

  21. Примеры XML Asserts 21

  22. Примеры XML Работа с фреймами и наследованием 22

  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

  29. Интеграция с JUnit 29

  30. Самотестирование, DDT 30

  31. Самотестирование, DDT 31

  32. Как это сделано? • DSL: XSD, JAXB • Plugins: smth. like eclipse plugins • Plugins repos: nexus • Тестирование: unit tests, автотестирование, тестирование собой своих же отчётов • Процессы: git, gerrit, jenkins, maven, java, agile/scrum, DDT, TDD • Плагинность: reflexion, classpath, classloaders • Репорт: XML + XSLT = static HTML (в данный момент) 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-test- automation-platform • http://jazzteam.org/ru/products/xml2selenium-test- automation-platform/why-xml-dsl-platform-required • Доклад на конференции Solit-2013 Создание продукта для автоматизации тестировании. Что нужно учитывать, чтобы создать технологическую платформу. Разбор конкретного примера – продукта XML2Selenium • Доклад на конференции Solit-2013 Эволюция тестирования на Selenium 35

  36. Спасибо за внимание! • zmicer@jazzteam.org • http://www.Zmicer.com • Skype: dzmitry_harachka 36

More Related