Selenium тесты.
От RC и одного пользователя к
WebDriver, PageObject и пулу
пользователей.
О чем это я...
● Обзор програмных продуктов Selenium.
● Этапы тестирования и о тестах на каждом из
них.
● Наши первые авто...
Интеграционное тестирование - тестирование
совокупности компонентов системы.
Selenium - инструмент для автоматизированного
управления браузерами. Включает в себя:
Selenium IDE
Selenium Remote Control...
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
● Появилась возможность писать тесты для
различных браузеров.
● Единая библиотека для всех тес...
Как было в начале...
Тест
BadooSeleniumTC
ТестТест
Новый подход в организации библиотеки.
Тест
API
BadooWebDriverTC
Тест Тест
UI UIUI APIAPI
Как здорово иметь удобную библиотеку!!
● Более читаемый код. Логика отдельно,
взаимодействие с интерфейсом отдельно...
● П...
Почему тесты идут так долго?..
Подготовка данных для теста...
●
●
Предустановленные
пользователи
Апи на стороне
сервера.
Интеграция QaApi в тесты...
Selenium Server
Тест
QaApi
Возможности QaApi
● Быстрая подготовка данных к тесту до его
начала.
● Универсальный доступ к данным
пользователя.
● Возмо...
Пул пользователей на все случаи жизни.....
Что мы получили в итоге
● Кроссплатформенные и кроссбраузерные
тесты.
● Короткие тесты, проверяющие конкретный
кейз.
● Воз...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного пользователя к WebDriver, Page Object и пулу ...
Upcoming SlideShare
Loading in …5
×

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

175,036 views

Published on

Презентация с первой конференции Badoo для тестировщиков LoveQA.

Published in: Technology
  • Be the first to comment

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

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

×