SlideShare a Scribd company logo
Selenide – лаконичные тесты на
Selenium 2 WebDriver + Java bindings
Акулич Владислав
DPI.Solutions
Issoft / Coherent Solutions
О себе
Владислав Акулич
• IT consultant
DPI.Solutions
• QA Automation Engineer
ISsoft / Coherent Solutions
Сегодня мы поговорим о…
• UI тесты Selenium 2 WebDriver + Java
• Что такое Selenide?
• Вкусности Selenide 
• С чего начать?
• Опыт и частота использования в
реальных проектах
UI тесты Selenium 2
WebDriver + Java
Что в этом коде нам не
нравится?
• Сложная инициализация
• А как же скриншоты?
• Объём кода 
• Сложность кода
Раньше все эти «сложности» ложилось на
наши плечи!
Архитектура и
Инфраструктура как решение
• Использование automation patterns
• Написание Helper классов
Однако решение есть (и не
одно)!
Что же такое Selenide?
Selenide — это прозрачная обёртка
вокруг Selenium WebDriver, не мешающая 
опуститься до уровня голого Driver-а,
позволяющая быстро и просто использовать
все возможности Selenium при разработке
тестов, сосредоточившись на логике, а не
суете с браузером + целый ряд
дополнительных возможностей.
Простой тест с Selenide
Инициализация браузера с
помощью Selenium 2
WebDriver
Инициализация браузера с
помощью Selenide
«Свойства»: Url, title и page
source
• Selenium
• Selenide
Поиск элементов
• Selenium
• Selenide
Selenium & Radio buttons
Selenide & Radio buttons
Asserts
• Selenium
• Selenide
Alerts
• Selenium
• Selenide
Selenium & Ajax
Selenide & Ajax
Готов! Хочу начать?
• Добавить dependency
• Импортировать пару классов
Что дальше?
Пиши … тесты! 
Почему «Selenide»?
Библиотека Selenium взяла своё
название от химического элемента (Селен).
А селениды — это соединения селена с
другими элементами 
• Selenide = Selenium + ScalaTest
• Selenide = Selenium + Junit
• Selenide = Selenium + TestNG
• Selenide = Selenium + что угодно
Плюсы Selenide
• Лаконичный API
• Улучшение работы с Ajax
• Большое количество готовых ожиданий
• Упрощение работы с браузером
• Автоматические скриншоты при падении
тестов
Применение на реальных
проектах
• Наш опыт
• Опыт разработчиков Selenide
http://selenide.org/2013/04/23/what-is-
selenide/
Customer Case Study: A
Project
• Type: Web application
• Category: Protected network monitoring system
• Technologies: HTML, CSS, Javascript, JQuery
• Stage: Updating the functionality of the application
• Automation scope: Performance testing, functional
testing
Challenge
• Existing automation solution didn’t provide
opportunity to fully test functionality and
performance of the highly secure web application
• Provide suggestions for performance improvement of
highly loaded application
• Working with image-recognition for part of the
functionality
Automation technology stack
• Selenium WebDriver (Java bindings)
• Selenide
• Sikuli-API
• BrowserMob Proxy
• HAR-Storage
• JMeter
Solution
• Performance: The usage of BrowserMob Proxy allowed to
use the same architecture and similar to functional scenarios
to test performance as well as functionality
• This stack also provided the opportunity to generate JMeter
scenarios from client-side performance tests for free
• Suggestions: HAR-storage together with BrowserMob Proxy
provided easy-to-interpret statistics and data for developing
suggestions for performance improvement
• Image-recognition: Sikuli-API perfectly solving the problem
Project A: Webdriver(Java) +
Selenide
Project Page Object
Test
Customer Case Study: B
Solution
• Cross-platform: more than 60 tests that are run both on IOS
and Android app
• Maintainability: using UI Map, static Page Object design
patters and selenide for better readability and support
• Different platforms: Selendroid supports wide range of
Android versions
Project
• Type: Android Mobile App
• Category: Healthcare
• Technologies: PhoneGap, Sencha Touch
• Stage: Initial development
• Automation scope: Functional testing
Challenge
• Tests that are easy to tweak and support
• Ability to execute on real devices and different platform versions
Automation technology stack
• Selendroid (Java bindings) as automation tool
• TestNG as test framework
• Selenide as Selenium wrapper
• Git as source control
• Maven as build tool
• Jenkins as CI tool
Project B: Selendroid (Java) +
Selenide
Project Page Object
Test
Customer Case Study: C
Solution
• ExtJS: using ExtJS API for locating elements and Selenide
for dealing with AJAX timings
• Cross-browser: Selenium Webdriver as browser driver tool
• Devices: executing large number of tests in different
browsers with help of Jenkins and Sauce Labs cloud
• Emails: Guerrilla Mail API
Project
• Type: Web app
• Category: Online Shopping platform
• Technologies: Java EE, Ext.js
• Stage: Mid-development, existing manual test cases
• Automation scope: Functional testing
Challenge
• Deal with dynamic locators and frequent AJAX calls
• Test in many browsers
• Ability to scale testing effectively
• Automate file upload and testing emails
Automation technology stack
• Selenium Webdriver (Java bindings)
• Selenium Grid for distributed execution
• Selenide as AJAX helper
• JUnit as test framework
• Git as source control
• Jenkins as CI
• Sauce labs cloud for scaling test execution
• Allure as reporting framework
Project C: Webdriver(Java) +
Selenide
Project
Page Object
Test
Спасибо! Вопросы!
Владислав Акулич
akulich@dpi.solutions
DPI.Solutions
www.dpi.solutions
Belarus QA Automation
Community
www.comaqa.by

More Related Content

What's hot (20)

PPTX
Appium confet qa
ISsoft
 
PPTX
Do you know what you are testing?
Mikalai Alimenkou
 
PDF
Winium — это как Selenium, только под Windows
SQALab
 
PDF
«Тестируем веб приложения», Павел Сташевский
DevDay
 
PDF
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Alex Mikitenko
 
PDF
Как и зачем мы тестируем UI
Vyacheslav Lyalkin
 
PPTX
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
COMAQA.BY
 
PPTX
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
 
PPTX
Test Automation Wargaming SQA Days 17
Igor Khrol
 
PPTX
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
QADay
 
PDF
Михаил Левин: Автоматизация в мобильном тестировании
Yandex
 
PPTX
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Oksana Avchinnikova
 
PPTX
Continuous Integration для QA
Ivan Kolodyazhny
 
PPT
CQRS. Event Sourcing. Особенности тестирования
Uladzimir Kryvenka
 
PPTX
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QAFest
 
PDF
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
it-people
 
PPT
Appium для народа
SQALab
 
PPT
AngularJS basics & theory
DevOWL Meetup
 
PPTX
автоматизация тестирования с помощью Selenium
vyacheslavmaslov
 
PPTX
Автоматизация тестирования iOS приложений: от идеи к готовому решению
SQALab
 
Appium confet qa
ISsoft
 
Do you know what you are testing?
Mikalai Alimenkou
 
Winium — это как Selenium, только под Windows
SQALab
 
«Тестируем веб приложения», Павел Сташевский
DevDay
 
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Alex Mikitenko
 
Как и зачем мы тестируем UI
Vyacheslav Lyalkin
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
COMAQA.BY
 
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
 
Test Automation Wargaming SQA Days 17
Igor Khrol
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
QADay
 
Михаил Левин: Автоматизация в мобильном тестировании
Yandex
 
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Oksana Avchinnikova
 
Continuous Integration для QA
Ivan Kolodyazhny
 
CQRS. Event Sourcing. Особенности тестирования
Uladzimir Kryvenka
 
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QAFest
 
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
it-people
 
Appium для народа
SQALab
 
AngularJS basics & theory
DevOWL Meetup
 
автоматизация тестирования с помощью Selenium
vyacheslavmaslov
 
Автоматизация тестирования iOS приложений: от идеи к готовому решению
SQALab
 

Viewers also liked (8)

PPTX
Development of automated tests for ext js based web sites
ISsoft
 
PDF
Selenium. Stas Kuzminov
ADCI Solutions
 
PPTX
Testing Ext JS and Sencha Touch
Mats Bryntse
 
PPTX
Distributed automation sel_conf_2015
aragavan
 
PDF
미래웹기술연구소는 왜 Sencha 를 채택하였는가?
미래웹기술연구소 (MIRAE WEB)
 
PPTX
Great functional testing with WebDriver and Thucydides
Mikalai Alimenkou
 
PPTX
Automated UI Testing
Mikalai Alimenkou
 
PDF
ExtJS WebDriver
Andrii Dzynia
 
Development of automated tests for ext js based web sites
ISsoft
 
Selenium. Stas Kuzminov
ADCI Solutions
 
Testing Ext JS and Sencha Touch
Mats Bryntse
 
Distributed automation sel_conf_2015
aragavan
 
미래웹기술연구소는 왜 Sencha 를 채택하였는가?
미래웹기술연구소 (MIRAE WEB)
 
Great functional testing with WebDriver and Thucydides
Mikalai Alimenkou
 
Automated UI Testing
Mikalai Alimenkou
 
ExtJS WebDriver
Andrii Dzynia
 
Ad

Similar to Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings (20)

PPTX
Appium + selenide comaqa.by. Антон Семенченко
Alina Dolgikh
 
PPTX
Эволюция автотестирования на Selenium
SQALab
 
PPTX
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
DataArt
 
PPT
Решения для автоматизации тестирования Web-приложений на базе Selenium
SQALab
 
PPTX
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
solit
 
PDF
Testing with Selenium
OSLL
 
PPTX
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Dakiry
 
PPT
Функциональное тестирование. Семейство продуктов Selenium
Stanislav Korchagin
 
PPT
Selenium Begins
Alexander Smelov
 
PDF
Погружение в Selenide [NoBugs WTF PRO уровень]
NoBugs
 
PPTX
Каким будет Selenium 3.0 и Selenium 4.0
SQALab
 
PDF
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Badoo Development
 
KEY
Путеводитель в мире Selenium
Kirill Klimov
 
PPT
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Andrey Rebrov
 
PDF
QA Fest 2019. Андрей Солнцев. Selenide для профи
QAFest
 
PPTX
Automating Canvas: difficult but possible
COMAQA.BY
 
PPT
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
jazzteam
 
PPT
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
solit
 
PPT
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
Alexei Lupan
 
PPTX
Appium review
Artem Chechoro
 
Appium + selenide comaqa.by. Антон Семенченко
Alina Dolgikh
 
Эволюция автотестирования на Selenium
SQALab
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
DataArt
 
Решения для автоматизации тестирования Web-приложений на базе Selenium
SQALab
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
solit
 
Testing with Selenium
OSLL
 
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Dakiry
 
Функциональное тестирование. Семейство продуктов Selenium
Stanislav Korchagin
 
Selenium Begins
Alexander Smelov
 
Погружение в Selenide [NoBugs WTF PRO уровень]
NoBugs
 
Каким будет Selenium 3.0 и Selenium 4.0
SQALab
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Badoo Development
 
Путеводитель в мире Selenium
Kirill Klimov
 
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Andrey Rebrov
 
QA Fest 2019. Андрей Солнцев. Selenide для профи
QAFest
 
Automating Canvas: difficult but possible
COMAQA.BY
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
jazzteam
 
Solit 2013, Разбор конкретного примера – продукта XML2Selenium, Горячко Дмитрий
solit
 
(Seleniumcamp) Selenium IDE как артефакт пикника на обочине
Alexei Lupan
 
Appium review
Artem Chechoro
 
Ad

More from COMAQA.BY (20)

PDF
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
COMAQA.BY
 
PPTX
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
COMAQA.BY
 
PPTX
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
COMAQA.BY
 
PPTX
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
COMAQA.BY
 
PPTX
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
COMAQA.BY
 
PPTX
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
COMAQA.BY
 
PPTX
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
COMAQA.BY
 
PPTX
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
COMAQA.BY
 
PPTX
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
COMAQA.BY
 
PPTX
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
COMAQA.BY
 
PPTX
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
COMAQA.BY
 
PPTX
Моя роль в конфликте
COMAQA.BY
 
PPTX
Организация приемочного тестирования силами матерых тестировщиков
COMAQA.BY
 
PPTX
Развитие или смерть
COMAQA.BY
 
PPTX
Системный взгляд на параллельный запуск Selenium тестов
COMAQA.BY
 
PPTX
Эффективная работа с рутинными задачами
COMAQA.BY
 
PPTX
Как стать синьором
COMAQA.BY
 
PPTX
Open your mind for OpenSource
COMAQA.BY
 
PPTX
JDI 2.0. Not only UI testing
COMAQA.BY
 
PPTX
Out of box page object design pattern, java
COMAQA.BY
 
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
COMAQA.BY
 
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
COMAQA.BY
 
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
COMAQA.BY
 
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
COMAQA.BY
 
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
COMAQA.BY
 
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
COMAQA.BY
 
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
COMAQA.BY
 
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
COMAQA.BY
 
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
COMAQA.BY
 
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
COMAQA.BY
 
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
COMAQA.BY
 
Моя роль в конфликте
COMAQA.BY
 
Организация приемочного тестирования силами матерых тестировщиков
COMAQA.BY
 
Развитие или смерть
COMAQA.BY
 
Системный взгляд на параллельный запуск Selenium тестов
COMAQA.BY
 
Эффективная работа с рутинными задачами
COMAQA.BY
 
Как стать синьором
COMAQA.BY
 
Open your mind for OpenSource
COMAQA.BY
 
JDI 2.0. Not only UI testing
COMAQA.BY
 
Out of box page object design pattern, java
COMAQA.BY
 

Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings

  • 1. Selenide – лаконичные тесты на Selenium 2 WebDriver + Java bindings Акулич Владислав DPI.Solutions Issoft / Coherent Solutions
  • 2. О себе Владислав Акулич • IT consultant DPI.Solutions • QA Automation Engineer ISsoft / Coherent Solutions
  • 3. Сегодня мы поговорим о… • UI тесты Selenium 2 WebDriver + Java • Что такое Selenide? • Вкусности Selenide  • С чего начать? • Опыт и частота использования в реальных проектах
  • 4. UI тесты Selenium 2 WebDriver + Java
  • 5. Что в этом коде нам не нравится? • Сложная инициализация • А как же скриншоты? • Объём кода  • Сложность кода Раньше все эти «сложности» ложилось на наши плечи!
  • 6. Архитектура и Инфраструктура как решение • Использование automation patterns • Написание Helper классов
  • 8. Что же такое Selenide? Selenide — это прозрачная обёртка вокруг Selenium WebDriver, не мешающая  опуститься до уровня голого Driver-а, позволяющая быстро и просто использовать все возможности Selenium при разработке тестов, сосредоточившись на логике, а не суете с браузером + целый ряд дополнительных возможностей.
  • 12. «Свойства»: Url, title и page source • Selenium • Selenide
  • 14. Selenium & Radio buttons
  • 15. Selenide & Radio buttons
  • 20. Готов! Хочу начать? • Добавить dependency • Импортировать пару классов
  • 22. Почему «Selenide»? Библиотека Selenium взяла своё название от химического элемента (Селен). А селениды — это соединения селена с другими элементами  • Selenide = Selenium + ScalaTest • Selenide = Selenium + Junit • Selenide = Selenium + TestNG • Selenide = Selenium + что угодно
  • 23. Плюсы Selenide • Лаконичный API • Улучшение работы с Ajax • Большое количество готовых ожиданий • Упрощение работы с браузером • Автоматические скриншоты при падении тестов
  • 24. Применение на реальных проектах • Наш опыт • Опыт разработчиков Selenide http://selenide.org/2013/04/23/what-is- selenide/
  • 25. Customer Case Study: A Project • Type: Web application • Category: Protected network monitoring system • Technologies: HTML, CSS, Javascript, JQuery • Stage: Updating the functionality of the application • Automation scope: Performance testing, functional testing Challenge • Existing automation solution didn’t provide opportunity to fully test functionality and performance of the highly secure web application • Provide suggestions for performance improvement of highly loaded application • Working with image-recognition for part of the functionality Automation technology stack • Selenium WebDriver (Java bindings) • Selenide • Sikuli-API • BrowserMob Proxy • HAR-Storage • JMeter Solution • Performance: The usage of BrowserMob Proxy allowed to use the same architecture and similar to functional scenarios to test performance as well as functionality • This stack also provided the opportunity to generate JMeter scenarios from client-side performance tests for free • Suggestions: HAR-storage together with BrowserMob Proxy provided easy-to-interpret statistics and data for developing suggestions for performance improvement • Image-recognition: Sikuli-API perfectly solving the problem
  • 26. Project A: Webdriver(Java) + Selenide Project Page Object Test
  • 27. Customer Case Study: B Solution • Cross-platform: more than 60 tests that are run both on IOS and Android app • Maintainability: using UI Map, static Page Object design patters and selenide for better readability and support • Different platforms: Selendroid supports wide range of Android versions Project • Type: Android Mobile App • Category: Healthcare • Technologies: PhoneGap, Sencha Touch • Stage: Initial development • Automation scope: Functional testing Challenge • Tests that are easy to tweak and support • Ability to execute on real devices and different platform versions Automation technology stack • Selendroid (Java bindings) as automation tool • TestNG as test framework • Selenide as Selenium wrapper • Git as source control • Maven as build tool • Jenkins as CI tool
  • 28. Project B: Selendroid (Java) + Selenide Project Page Object Test
  • 29. Customer Case Study: C Solution • ExtJS: using ExtJS API for locating elements and Selenide for dealing with AJAX timings • Cross-browser: Selenium Webdriver as browser driver tool • Devices: executing large number of tests in different browsers with help of Jenkins and Sauce Labs cloud • Emails: Guerrilla Mail API Project • Type: Web app • Category: Online Shopping platform • Technologies: Java EE, Ext.js • Stage: Mid-development, existing manual test cases • Automation scope: Functional testing Challenge • Deal with dynamic locators and frequent AJAX calls • Test in many browsers • Ability to scale testing effectively • Automate file upload and testing emails Automation technology stack • Selenium Webdriver (Java bindings) • Selenium Grid for distributed execution • Selenide as AJAX helper • JUnit as test framework • Git as source control • Jenkins as CI • Sauce labs cloud for scaling test execution • Allure as reporting framework
  • 30. Project C: Webdriver(Java) + Selenide Project Page Object Test