SlideShare a Scribd company logo
Selenium stack in python
Немного о себе…
Андрей Стахиевич
COMAQA.BY
DPI Solutions
Solarwinds
stakhievich@dpi.solutions
• ASP.Net developer с 2-летним стажем
• Selenium Webdriver-based test automation specialist с
4-летним стажем
• Mobile test automation specialist cо стажем
2 года
• Selenium
• Selenium-based test framework components
• Selenium integrated tools in python
О чем речь?
Нужен кастомный фреймворк для end-
to-end тестирования веб приложений
Проблемка
Контекст
Требования
• Простой и понятный
• Универсальный и гибкий
• Расширяемый
• Поддерживает параллельный запуск
• Не требует много времени на создание
Компоненты архитектуры
Page Elements
Webdriver
manager
UI Map
steps
Parametrization
Test
assertions
Reporting
Page Object
Проходим мимо
• robotframework-selenium2library
• robotframework-extendedselenium2library
• robotframework-anywherelibrary
• splinter
• py.saunter
Page Object and Page Element
• webium
• page-objects
• robotframework-pageobjects
• holmium.core
• pypom
Page-objects
Pypom
• Построение своих
регионов/блоков
• Интеграция с splinter
Webium
• Построение своих
кастомных блоков
• Ленивая
инициализация
• Можно передавать
свой драйвер в
конструктор или
использовать
драйвер webium
Holmium.core
• Построение своих
кастомных блоков
• Conditions
• Context managers
Parametrization
• pytest-selenium
Запуск
Использование
Интеграция с облаками
Reporting
• Allure -> pytest-allure-adaptor
• Report portal
Allure features
• Atachments
• Steps
• Environment
• Test cases id
• Issue id
Steps
• allure -> steps
• Grail
Asserts
• pyhamcrest
• pyshould
• sure
• assertpy
Компоненты архитектуры
Page Elements
Webdriver
manager
UI Map
steps
Parametrization
Test
assertions
Reporting
Page ObjectPytest-selenium
pytest-selenium
webium
webium
allure
Выводы:
• На python уже много велосипедов для
тестирования с помощью Webdriver. Можно
подобрать что-то для себя.
• К сожалению на питоне область тестирования с
использованием селениум очень
фрагментирована. Нет явных лидеров среди
инструментов.
Спасибо
Андрей Стахиевич
Skype:
andreystakhievich
Email:
stakhievich@dpi.solutions
selenium stack in python
Ad

Recommended

Готовим Docker для Автоматизации Тестирования
Готовим Docker для Автоматизации Тестирования
COMAQA.BY
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
COMAQA.BY
 
Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
COMAQA.BY
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
SQALab
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
SQALab
 
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
Подводная часть айсберга: что делать, чтобы автотесты не превратились в Титаник
SQALab
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
Fwdays
 
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Alex Mikitenko
 
Максим Пугачев
Максим Пугачев
CodeFest
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
Fwdays
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
QADay
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)
AvitoTech
 
Test driven development in net
Test driven development in net
Alex Tumanoff
 
Непрерывная интеграция (Марина Пестова)
Непрерывная интеграция (Марина Пестова)
Кафедра высокопроизводительных компьютерных технологий ИМКН УрФУ
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
Fwdays
 
Web application testing architecture
Web application testing architecture
Andrey Lazarev
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
MoscowJS
 
Сергей Орлов
Сергей Орлов
CodeFest
 
"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov
Fwdays
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Fwdays
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double fun
Alexandr Khotemskoy
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
MskDotNet Community
 
"React application structure at project start", Maksym Shestopal
"React application structure at project start", Maksym Shestopal
Fwdays
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
SQALab
 
Как я перестал беспокоиться и полюбил Redux
Как я перестал беспокоиться и полюбил Redux
IT61
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
Olesya_V
 
Web driver история одной миграции
Web driver история одной миграции
Igor Khrol
 
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
COMAQA.BY
 

More Related Content

What's hot (20)

Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
Fwdays
 
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Alex Mikitenko
 
Максим Пугачев
Максим Пугачев
CodeFest
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
Fwdays
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
QADay
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)
AvitoTech
 
Test driven development in net
Test driven development in net
Alex Tumanoff
 
Непрерывная интеграция (Марина Пестова)
Непрерывная интеграция (Марина Пестова)
Кафедра высокопроизводительных компьютерных технологий ИМКН УрФУ
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
Fwdays
 
Web application testing architecture
Web application testing architecture
Andrey Lazarev
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
MoscowJS
 
Сергей Орлов
Сергей Орлов
CodeFest
 
"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov
Fwdays
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Fwdays
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double fun
Alexandr Khotemskoy
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
MskDotNet Community
 
"React application structure at project start", Maksym Shestopal
"React application structure at project start", Maksym Shestopal
Fwdays
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
SQALab
 
Как я перестал беспокоиться и полюбил Redux
Как я перестал беспокоиться и полюбил Redux
IT61
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
Olesya_V
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
Fwdays
 
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Alex Mikitenko
 
Максим Пугачев
Максим Пугачев
CodeFest
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
Fwdays
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
QADay
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)
AvitoTech
 
Test driven development in net
Test driven development in net
Alex Tumanoff
 
Владимир Никонов "Вызовы при разработке enterprise продукта"
Владимир Никонов "Вызовы при разработке enterprise продукта"
Fwdays
 
Web application testing architecture
Web application testing architecture
Andrey Lazarev
 
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
"Redux: the best for isomorphic apps", Денис Измайлов, MoscowJS 25
MoscowJS
 
Сергей Орлов
Сергей Орлов
CodeFest
 
"Web Vitals monitoring & optimizations", Erik Himiranov
"Web Vitals monitoring & optimizations", Erik Himiranov
Fwdays
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Fwdays
 
WebdriverIO + Puppeteer. Double gun – double fun
WebdriverIO + Puppeteer. Double gun – double fun
Alexandr Khotemskoy
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
MskDotNet Community
 
"React application structure at project start", Maksym Shestopal
"React application structure at project start", Maksym Shestopal
Fwdays
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
SQALab
 
Как я перестал беспокоиться и полюбил Redux
Как я перестал беспокоиться и полюбил Redux
IT61
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
Olesya_V
 

Similar to selenium stack in python (20)

Web driver история одной миграции
Web driver история одной миграции
Igor Khrol
 
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
COMAQA.BY
 
Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)
aviatakz
 
Андрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation Tool
QA Club Minsk
 
Как и зачем мы тестируем UI
Как и зачем мы тестируем UI
Vyacheslav Lyalkin
 
Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...
Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...
COMAQA.BY
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testing
Alexandr Zinovyev
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
SQALab
 
Измеряем производительность веб приложения c помощью Selenium WebDriver и Bro...
Измеряем производительность веб приложения c помощью Selenium WebDriver и Bro...
SQALab
 
Андрей Стахиевич - Измеряем производительность веб приложения на стороне клие...
Андрей Стахиевич - Измеряем производительность веб приложения на стороне клие...
QA Club Minsk
 
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
solit
 
Appium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон Семенченко
Alina Dolgikh
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and Thucydides
Mikalai Alimenkou
 
Каким будет Selenium 3.0 и Selenium 4.0
Каким будет Selenium 3.0 и Selenium 4.0
SQALab
 
Appium confet qa
Appium confet qa
ISsoft
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
DataArt
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
solit
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
SQALab
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appium
SQALab
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"
Dev2Dev
 
Web driver история одной миграции
Web driver история одной миграции
Igor Khrol
 
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
Selenide –  лаконичные тесты на Selenium 2 WebDriver + Java bindings
COMAQA.BY
 
Python tools for web development (Python meetup Almaty #ALAPY)
Python tools for web development (Python meetup Almaty #ALAPY)
aviatakz
 
Андрей Стахиевич - Appium Mobile Automation Tool
Андрей Стахиевич - Appium Mobile Automation Tool
QA Club Minsk
 
Как и зачем мы тестируем UI
Как и зачем мы тестируем UI
Vyacheslav Lyalkin
 
Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...
Selenium 2 WebDriver + Selenide + Java с и без использования BDD, сравнительн...
COMAQA.BY
 
Free Desktop QA Engineers: implement automation testing
Free Desktop QA Engineers: implement automation testing
Alexandr Zinovyev
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
SQALab
 
Измеряем производительность веб приложения c помощью Selenium WebDriver и Bro...
Измеряем производительность веб приложения c помощью Selenium WebDriver и Bro...
SQALab
 
Андрей Стахиевич - Измеряем производительность веб приложения на стороне клие...
Андрей Стахиевич - Измеряем производительность веб приложения на стороне клие...
QA Club Minsk
 
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
Solit 2014, Измеряем производительность Webприложения на сторне клиента с пом...
solit
 
Appium + selenide comaqa.by. Антон Семенченко
Appium + selenide comaqa.by. Антон Семенченко
Alina Dolgikh
 
Great functional testing with WebDriver and Thucydides
Great functional testing with WebDriver and Thucydides
Mikalai Alimenkou
 
Каким будет Selenium 3.0 и Selenium 4.0
Каким будет Selenium 3.0 и Selenium 4.0
SQALab
 
Appium confet qa
Appium confet qa
ISsoft
 
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
Дмитрий Лукьяненко: Первый фреймворк на Selenium + TestNG
DataArt
 
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
Solit 2014, Appium. Тестируем гибридные мобильные прирложения в стиле webdriv...
solit
 
Анализ инструментов автоматизации мобильного тестирования
Анализ инструментов автоматизации мобильного тестирования
SQALab
 
Тестируем мобильные приложения в облаках с appium
Тестируем мобильные приложения в облаках с appium
SQALab
 
D2D Pizza JS Илья Беда "Куда мы все катимся?"
D2D Pizza JS Илья Беда "Куда мы все катимся?"
Dev2Dev
 
Ad

More from COMAQA.BY (20)

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

selenium stack in python

Editor's Notes