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

Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
ISsoft
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
COMAQA.BY
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
 
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
it-people
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
vyacheslavmaslov
 

What's hot (20)

Андрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation ToolАндрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation Tool
 
Appium confet qa
Appium confet qaAppium confet qa
Appium confet qa
 
Do you know what you are testing?
Do you know what you are testing?Do you know what you are testing?
Do you know what you are testing?
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский«Тестируем веб приложения», Павел Сташевский
«Тестируем веб приложения», Павел Сташевский
 
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir WebdriverТестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
 
Как и зачем мы тестируем UI
Как и зачем мы тестируем UIКак и зачем мы тестируем UI
Как и зачем мы тестируем UI
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
Типичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriverТипичные ошибки начинающих писать тесты на WebDriver
Типичные ошибки начинающих писать тесты на WebDriver
 
Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17Test Automation Wargaming SQA Days 17
Test Automation Wargaming SQA Days 17
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
 
Михаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестированииМихаил Левин: Автоматизация в мобильном тестировании
Михаил Левин: Автоматизация в мобильном тестировании
 
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Как улучшить тесты на Selenium с помощью "визуального тестирования"?Как улучшить тесты на Selenium с помощью "визуального тестирования"?
Как улучшить тесты на Selenium с помощью "визуального тестирования"?
 
Continuous Integration для QA
Continuous Integration для QAContinuous Integration для QA
Continuous Integration для QA
 
CQRS. Event Sourcing. Особенности тестирования
CQRS. Event Sourcing. Особенности тестированияCQRS. Event Sourcing. Особенности тестирования
CQRS. Event Sourcing. Особенности тестирования
 
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщикаQA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
 
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
Т. Черемных "Автоматизация тестирования верстки", DUMP-2014
 
Appium для народа
Appium для народаAppium для народа
Appium для народа
 
AngularJS basics & theory
AngularJS basics & theoryAngularJS basics & theory
AngularJS basics & theory
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
 

Viewers also liked (8)

Development of automated tests for ext js based web sites
Development of automated tests for ext js based web sitesDevelopment of automated tests for ext js based web sites
Development of automated tests for ext js based web sites
 
Selenium. Stas Kuzminov
Selenium. Stas KuzminovSelenium. Stas Kuzminov
Selenium. Stas Kuzminov
 
Testing Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchTesting Ext JS and Sencha Touch
Testing Ext JS and Sencha Touch
 
Distributed automation sel_conf_2015
Distributed automation sel_conf_2015Distributed automation sel_conf_2015
Distributed automation sel_conf_2015
 
미래웹기술연구소는 왜 Sencha 를 채택하였는가?
미래웹기술연구소는 왜 Sencha 를 채택하였는가?미래웹기술연구소는 왜 Sencha 를 채택하였는가?
미래웹기술연구소는 왜 Sencha 를 채택하였는가?
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and ThucydidesGreat functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and Thucydides
 
Automated UI Testing
Automated UI TestingAutomated UI Testing
Automated UI Testing
 
ExtJS WebDriver
ExtJS WebDriverExtJS WebDriver
ExtJS WebDriver
 

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

Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
solit
 
Presentation_ppt
Presentation_pptPresentation_ppt
Presentation_ppt
VasayXTX
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
Igor Khrol
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
DataArt
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
Александр Шамрай
 

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

Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...
Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...
Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
 
Appium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон СеменченкоAppium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон Семенченко
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appiumТестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appium
 
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
 
Presentation_ppt
Presentation_pptPresentation_ppt
Presentation_ppt
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
 
Web driver история одной миграции
Web driver   история одной миграцииWeb driver   история одной миграции
Web driver история одной миграции
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестированияАнализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in python
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Виктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public APIВиктор Розаев - Как не сломать обратную совместимость в Public API
Виктор Розаев - Как не сломать обратную совместимость в Public API
 
Tool View Interface of Integrated Development Environment / Исследование инте...
Tool View Interface of Integrated Development Environment / Исследование инте...Tool View Interface of Integrated Development Environment / Исследование инте...
Tool View Interface of Integrated Development Environment / Исследование инте...
 
Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»Роман Кокин «Организация тестирования в больших командах»
Роман Кокин «Организация тестирования в больших командах»
 
Selenium Begins
Selenium BeginsSelenium Begins
Selenium Begins
 
Автоматизированное тестирование мобильных приложений
Автоматизированное тестирование мобильных приложенийАвтоматизированное тестирование мобильных приложений
Автоматизированное тестирование мобильных приложений
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNGДмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
 
«Winium — это как Selenium, только под Windows» – Глеб Головин, 2ГИС
«Winium — это как Selenium, только под Windows»  – Глеб Головин, 2ГИС«Winium — это как Selenium, только под Windows»  – Глеб Головин, 2ГИС
«Winium — это как Selenium, только под Windows» – Глеб Головин, 2ГИС
 
новые технологии при разработке нативного I os приложения в рамках проекта ст...
новые технологии при разработке нативного I os приложения в рамках проекта ст...новые технологии при разработке нативного I os приложения в рамках проекта ст...
новые технологии при разработке нативного I os приложения в рамках проекта ст...
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
 

More from COMAQA.BY

Системный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестовСистемный взгляд на параллельный запуск Selenium тестов
Системный взгляд на параллельный запуск Selenium тестов
COMAQA.BY
 

More from COMAQA.BY (20)

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

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