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