SlideShare a Scribd company logo
Selenium тесты.
От RC и одного пользователя к
WebDriver, PageObject и пулу
пользователей.
О чем это я...
● Обзор програмных продуктов Selenium.
● Этапы тестирования и о тестах на каждом из
них.
● Наши первые автотесты. Как и почему мы
потом многое переписали.
● Что мы получили в итоге.
Интеграционное тестирование - тестирование
совокупности компонентов системы.
Selenium - инструмент для автоматизированного
управления браузерами. Включает в себя:
Selenium IDE
Selenium Remote Control
Selenium Webdriver
Selenium Server & Selenium Grid
Selenium IDE - расширение для Firefox, позволяющее
записывать и воспроизводить действия пользователя в
браузере.
Selenium WebDriver - cемейство драйверов для
различных браузеров и набор клиентских
библиотек на разных языках программирования.
Selenium Remote Control - предшественник
Selenium WD. На данный момент работа над
проектом преостановлена и в дальнейшем он
развиваться не планируется.
Selenium Server - это сервер, который
позволяет управлять браузером с удалённой
машины, по сети...
Grid - кластер из нескольких серверов Selenium.
Как мы используем Selenium тесты.
Когда мы используем Selenium тесты.
● Девел - работа с тестовыми даными.
● Шоты - опционально, по группам.
● Стейджинг - все тесты, всегда.
● Продакшн - только критические тесты.
Какие проверки мы автоматизировали..
● Функциональность сайта
● Наличие ошибок в Javascript
● Расположение элементов (не верстку!)
Первые тесты Selenium.
Покрытие тестами web-версию Badoo.
Покрыть быстро
все фичи и
запустить в ТС
Покрытие мобильной версии Badoo тестами.
WD
RC
С чем пришлось бороться…
● Тесты написаны на двух
разных фреймворках.
● Библиотека разрослась и
с ней сложно работать.
● Тесты слишком длинные.
“Прослойка” между RC и WD.
Webdriver
Тест для RC Тест для WD
МАГИЯ!
Плюсы перехода на Webdriver
● Появилась возможность писать тесты для
различных браузеров.
● Единая библиотека для всех тестов.
● Использовать selenium grid. Параллелить
тесты.
Как было в начале...
Тест
BadooSeleniumTC
ТестТест
Новый подход в организации библиотеки.
Тест
API
BadooWebDriverTC
Тест Тест
UI UIUI APIAPI
Как здорово иметь удобную библиотеку!!
● Более читаемый код. Логика отдельно,
взаимодействие с интерфейсом отдельно...
● Писать новые тесты с каждым разом
проще!!
● При изменении компонента в проекте
меняется только код UI, сам тест не
меняется..
Почему тесты идут так долго?..
Подготовка данных для теста...
●
●
Предустановленные
пользователи
Апи на стороне
сервера.
Интеграция QaApi в тесты...
Selenium Server
Тест
QaApi
Возможности QaApi
● Быстрая подготовка данных к тесту до его
начала.
● Универсальный доступ к данным
пользователя.
● Возможность “очистки” пользователей для
повторного использование.
● Пул пользователей на почти все возможные
кейзы.
Пул пользователей на все случаи жизни.....
Что мы получили в итоге
● Кроссплатформенные и кроссбраузерные
тесты.
● Короткие тесты, проверяющие конкретный
кейз.
● Возможность запускать тесты параллельно.
~30 тестов / 1 поток == 25 минут.
~300 тестов / 10 поток ~= 10 минут.
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного пользователя к WebDriver, Page Object и пулу пользователей".

More Related Content

What's hot (20)

PPTX
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
Ontico
 
PDF
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Vadim Nesterov
 
PDF
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Ontico
 
PPTX
Александр Афенов
CodeFest
 
PDF
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
Ontico
 
PDF
Быстрый рендеринг с DOM шаблонизаторами / Борис Каплуновский (aviasales.ru)
Ontico
 
PPTX
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
Ontico
 
PDF
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Ontico
 
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Ontico
 
PDF
Антон Галицын
CodeFest
 
PPTX
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
AvitoTech
 
PPTX
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Ontico
 
PDF
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Pavel Dovbush
 
PDF
Тестируем мобильное приложение в суровых реалиях Интернета
SQALab
 
PDF
Golang в avito
AvitoTech
 
PPTX
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Ontico
 
PDF
«Взломать за 60 секунд», Артем Кулаков, Redmadrobot
Mail.ru Group
 
PDF
Alexei Vladishev - Zabbix 3.0 что дальше
Zabbix
 
PDF
Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...
Ontico
 
PPTX
NoBigData - потоковая система аналитики clientside производительности, Сергей...
Ontico
 
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
Ontico
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Vadim Nesterov
 
Порядок для скорости. Система структурирования фронтендовой части веб-приложе...
Ontico
 
Александр Афенов
CodeFest
 
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
Ontico
 
Быстрый рендеринг с DOM шаблонизаторами / Борис Каплуновский (aviasales.ru)
Ontico
 
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
Ontico
 
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Ontico
 
Антон Галицын
CodeFest
 
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
AvitoTech
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Ontico
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Pavel Dovbush
 
Тестируем мобильное приложение в суровых реалиях Интернета
SQALab
 
Golang в avito
AvitoTech
 
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Ontico
 
«Взломать за 60 секунд», Артем Кулаков, Redmadrobot
Mail.ru Group
 
Alexei Vladishev - Zabbix 3.0 что дальше
Zabbix
 
Как и зачем создавать NginX-модуль - теория, практика, профит / Василий Сошни...
Ontico
 
NoBigData - потоковая система аналитики clientside производительности, Сергей...
Ontico
 

Viewers also liked (20)

PDF
Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...
Badoo Development
 
PDF
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Badoo Development
 
PDF
Доклад Алексея Деревянкина (Skype) на конференции LoveQA. "Нагрузочное тестир...
Badoo Development
 
PDF
Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
Badoo Development
 
PDF
грабли автоматизации тестирования мобильного веба с помощью Selenium 2
Andrey Rebrov
 
PDF
как работают яндекс.пробки
Yandex
 
PDF
Yandex1
Yandex
 
PDF
Yandex20131017 ageev-2
Yandex
 
PDF
Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...
Badoo Development
 
PDF
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Yandex
 
PDF
Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...
Badoo Development
 
PDF
5 способов деплоя PHP-кода в условиях хайлоада
Badoo Development
 
PDF
Доклад Анатолия Панова на конференции РИТ++ 2014. "Биллинг в большом проекте"
Badoo Development
 
PPT
Доклад Александра Хози и Николая Козлова на конференции LoveQA. "Есть ли жизн...
Badoo Development
 
PPT
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Badoo Development
 
PPT
LinkMeUp-V15 (05.2014)
eucariot
 
PPTX
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
 
PDF
как математика позволяет зарабатывать деньги
Yandex
 
PPTX
"Sharding - patterns & antipatterns". Доклад Алексея Рыбака (Badoo) и Констан...
Badoo Development
 
Доклад Ильи Кудинова на конференции LoveQA. "Как мы разгоняли тесты — от баш-...
Badoo Development
 
Доклад "Docker в Badoo: от восторгов к внедрению" на DevOps Meetup
Badoo Development
 
Доклад Алексея Деревянкина (Skype) на конференции LoveQA. "Нагрузочное тестир...
Badoo Development
 
Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
Badoo Development
 
грабли автоматизации тестирования мобильного веба с помощью Selenium 2
Andrey Rebrov
 
как работают яндекс.пробки
Yandex
 
Yandex1
Yandex
 
Yandex20131017 ageev-2
Yandex
 
Доклад Владислава Чернова на конференции LoveQA. "Continuous delivery в крупн...
Badoo Development
 
Максим Мусин - Умные компьютеры, как это работает, где этому научиться и когд...
Yandex
 
Доклад "Специфика верстки мультиязычных веб-приложений в Badoo" на MoscowJS M...
Badoo Development
 
5 способов деплоя PHP-кода в условиях хайлоада
Badoo Development
 
Доклад Анатолия Панова на конференции РИТ++ 2014. "Биллинг в большом проекте"
Badoo Development
 
Доклад Александра Хози и Николая Козлова на конференции LoveQA. "Есть ли жизн...
Badoo Development
 
Доклад Алексея Рыбака на Whalerider 2013. Эволюция разработки в Badoo.
Badoo Development
 
LinkMeUp-V15 (05.2014)
eucariot
 
Типичные ошибки начинающих писать тесты на WebDriver
Igor Khrol
 
как математика позволяет зарабатывать деньги
Yandex
 
"Sharding - patterns & antipatterns". Доклад Алексея Рыбака (Badoo) и Констан...
Badoo Development
 
Ad

Similar to Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного пользователя к WebDriver, Page Object и пулу пользователей". (20)

PPT
Selenium Begins
Alexander Smelov
 
PPTX
(Seleniumcamp) Selenium RC for QA Engineer
Yan Alexeenko
 
KEY
Путеводитель в мире Selenium
Kirill Klimov
 
PPTX
Каким будет Selenium 3.0 и Selenium 4.0
SQALab
 
PPTX
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Dakiry
 
PDF
Testing with Selenium
OSLL
 
ODP
Selenium на практике и подводные камни
SQALab
 
PPTX
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
QADay
 
PPTX
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
solit
 
PPT
Функциональное тестирование. Семейство продуктов Selenium
Stanislav Korchagin
 
PPTX
Эволюция автотестирования на Selenium
SQALab
 
PDF
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest
 
PPTX
автоматизация тестирования с помощью Selenium
vyacheslavmaslov
 
PPT
Решения для автоматизации тестирования Web-приложений на базе Selenium
SQALab
 
PDF
Selenium. Stas Kuzminov
ADCI Solutions
 
PPT
Selenium 2.0: обзор новых возможностей
Paul Stashevsky
 
PPT
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Andrey Rebrov
 
PPTX
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
SQALab
 
PPTX
Selen framework
Alexander Khaerov
 
Selenium Begins
Alexander Smelov
 
(Seleniumcamp) Selenium RC for QA Engineer
Yan Alexeenko
 
Путеводитель в мире Selenium
Kirill Klimov
 
Каким будет Selenium 3.0 и Selenium 4.0
SQALab
 
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Dakiry
 
Testing with Selenium
OSLL
 
Selenium на практике и подводные камни
SQALab
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
QADay
 
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексей
solit
 
Функциональное тестирование. Семейство продуктов Selenium
Stanislav Korchagin
 
Эволюция автотестирования на Selenium
SQALab
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest
 
автоматизация тестирования с помощью Selenium
vyacheslavmaslov
 
Решения для автоматизации тестирования Web-приложений на базе Selenium
SQALab
 
Selenium. Stas Kuzminov
ADCI Solutions
 
Selenium 2.0: обзор новых возможностей
Paul Stashevsky
 
Автоматизируйте это немедленно или коллекция инструментов автотестирования с ...
Andrey Rebrov
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
SQALab
 
Selen framework
Alexander Khaerov
 
Ad

More from Badoo Development (20)

PDF
Viktar Karanevich – iOS Parallel Automation
Badoo Development
 
PDF
Как мы делаем модули PHP в Badoo – Антон Довгаль
Badoo Development
 
PDF
Григорий Джанелидзе, OK.RU
Badoo Development
 
PPTX
Андрей Сидоров, Яндекс.Браузер
Badoo Development
 
PDF
Филипп Уваров, Avito
Badoo Development
 
PDF
Cocoaheads Meetup / Alex Zimin / Swift magic
Badoo Development
 
PDF
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Badoo Development
 
PDF
Alex Krasheninnikov – Hadoop High Availability
Badoo Development
 
PDF
Андрей Денисов – В ожидании мониторинга баз данных
Badoo Development
 
PDF
Александр Зобнин, Grafana Labs
Badoo Development
 
PDF
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Badoo Development
 
PPTX
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
 
PDF
TechLeads meetup: Алексей Рыбак, Badoo
Badoo Development
 
PPTX
TechLeads meetup: Евгений Потапов, ITSumma
Badoo Development
 
PDF
TechLeads meetup: Макс Лапшин, Erlyvideo
Badoo Development
 
PDF
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Badoo Development
 
PPTX
Как мы готовим MySQL
Badoo Development
 
PPTX
Архитектура хранения и отдачи фотографий в Badoo
Badoo Development
 
PDF
ChromeDriver Jailbreak
Badoo Development
 
PDF
Git хуки на страже качества кода
Badoo Development
 
Viktar Karanevich – iOS Parallel Automation
Badoo Development
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Badoo Development
 
Григорий Джанелидзе, OK.RU
Badoo Development
 
Андрей Сидоров, Яндекс.Браузер
Badoo Development
 
Филипп Уваров, Avito
Badoo Development
 
Cocoaheads Meetup / Alex Zimin / Swift magic
Badoo Development
 
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Badoo Development
 
Alex Krasheninnikov – Hadoop High Availability
Badoo Development
 
Андрей Денисов – В ожидании мониторинга баз данных
Badoo Development
 
Александр Зобнин, Grafana Labs
Badoo Development
 
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Badoo Development
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
 
TechLeads meetup: Алексей Рыбак, Badoo
Badoo Development
 
TechLeads meetup: Евгений Потапов, ITSumma
Badoo Development
 
TechLeads meetup: Макс Лапшин, Erlyvideo
Badoo Development
 
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Badoo Development
 
Как мы готовим MySQL
Badoo Development
 
Архитектура хранения и отдачи фотографий в Badoo
Badoo Development
 
ChromeDriver Jailbreak
Badoo Development
 
Git хуки на страже качества кода
Badoo Development
 

Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного пользователя к WebDriver, Page Object и пулу пользователей".

  • 1. Selenium тесты. От RC и одного пользователя к WebDriver, PageObject и пулу пользователей.
  • 2. О чем это я... ● Обзор програмных продуктов Selenium. ● Этапы тестирования и о тестах на каждом из них. ● Наши первые автотесты. Как и почему мы потом многое переписали. ● Что мы получили в итоге.
  • 3. Интеграционное тестирование - тестирование совокупности компонентов системы.
  • 4. Selenium - инструмент для автоматизированного управления браузерами. Включает в себя: Selenium IDE Selenium Remote Control Selenium Webdriver Selenium Server & Selenium Grid
  • 5. Selenium IDE - расширение для Firefox, позволяющее записывать и воспроизводить действия пользователя в браузере.
  • 6. Selenium WebDriver - cемейство драйверов для различных браузеров и набор клиентских библиотек на разных языках программирования.
  • 7. Selenium Remote Control - предшественник Selenium WD. На данный момент работа над проектом преостановлена и в дальнейшем он развиваться не планируется.
  • 8. Selenium Server - это сервер, который позволяет управлять браузером с удалённой машины, по сети...
  • 9. Grid - кластер из нескольких серверов Selenium.
  • 10. Как мы используем Selenium тесты.
  • 11. Когда мы используем Selenium тесты. ● Девел - работа с тестовыми даными. ● Шоты - опционально, по группам. ● Стейджинг - все тесты, всегда. ● Продакшн - только критические тесты.
  • 12. Какие проверки мы автоматизировали.. ● Функциональность сайта ● Наличие ошибок в Javascript ● Расположение элементов (не верстку!)
  • 14. Покрытие тестами web-версию Badoo. Покрыть быстро все фичи и запустить в ТС
  • 16. С чем пришлось бороться… ● Тесты написаны на двух разных фреймворках. ● Библиотека разрослась и с ней сложно работать. ● Тесты слишком длинные.
  • 17. “Прослойка” между RC и WD. Webdriver Тест для RC Тест для WD МАГИЯ!
  • 18. Плюсы перехода на Webdriver ● Появилась возможность писать тесты для различных браузеров. ● Единая библиотека для всех тестов. ● Использовать selenium grid. Параллелить тесты.
  • 19. Как было в начале... Тест BadooSeleniumTC ТестТест
  • 20. Новый подход в организации библиотеки. Тест API BadooWebDriverTC Тест Тест UI UIUI APIAPI
  • 21. Как здорово иметь удобную библиотеку!! ● Более читаемый код. Логика отдельно, взаимодействие с интерфейсом отдельно... ● Писать новые тесты с каждым разом проще!! ● При изменении компонента в проекте меняется только код UI, сам тест не меняется..
  • 22. Почему тесты идут так долго?..
  • 23. Подготовка данных для теста... ● ● Предустановленные пользователи Апи на стороне сервера.
  • 24. Интеграция QaApi в тесты... Selenium Server Тест QaApi
  • 25. Возможности QaApi ● Быстрая подготовка данных к тесту до его начала. ● Универсальный доступ к данным пользователя. ● Возможность “очистки” пользователей для повторного использование. ● Пул пользователей на почти все возможные кейзы.
  • 26. Пул пользователей на все случаи жизни.....
  • 27. Что мы получили в итоге ● Кроссплатформенные и кроссбраузерные тесты. ● Короткие тесты, проверяющие конкретный кейз. ● Возможность запускать тесты параллельно. ~30 тестов / 1 поток == 25 минут. ~300 тестов / 10 поток ~= 10 минут.