Алексей Виноградов

Консультант, Германия

Работает в IT проектах в Германии более 15 лет. Консультирует по вопросам тестирования и автоматизации. Разработчик фреймворка Selenide. Основатель и один из ведущих подкаста Radio QA.

Topic: KISS PageObjects

Page Objects, вероятно, самый известный на сегодня паттерн, используемый в автоматизации через UI. И самый простой, скажете вы? Не соглашусь, по моим наблюдением применение данного паттерна таит в себе подводные камни даже для наиболее типичных веб-приложений.

В данном докладе я познакомлю вас с простыми и практичными видами PageObject архитектуры — Static & Void, продемонстрирую использование кодом, сравню плюсы и минусы подходов. Также я расскажу о важных недостатках некоторых Design Pattern-ов (Loadable Component, DataProvider и пр.), отважное пользование которыми выстилает вам дорогу в автоматизационный ад. Вы увидите на примерах, как простой код решает проблемы лучше, чем слишком умный. Примеры на языке Java с Selenide переносимы и на другие фреймворки и языки программирования (.NET, Python, JavaScript и другие).

Alexei Vinogradov

Consultant, Germany

Alexei has been working on various IT projects in Germany for more than 15 years. He consults about quality assurance, test automation and about how to keep calm and be a good tester. The developer of Selenide. The founder and moderator of Radio QA podcast.

Topic: KISS PageObjects

Page Objects is probably the best-known pattern for UI Automation in Testing. Still implementing the Page Objects can be tricky in many ways even for the most typical web application. Alexei will introduce 3 types of PageObjects implementation («Static», «Void» and «Fluent»), which he has successfully used in his projects and explain their advantages and drawback. He will also explain why some other/additional patterns you can find in blogs/books or even get recommended in conference talks are actually no good. Warning: some pieces of advice may look provocative or even change the way you look at designing UI tests completely!

The session will show Java Code examples (Selenium/Selenide) highlighting the implementation details.