Паттерны автоматизации Веб-приложений на python [Алексей Коледачкин]
Требования ко всем студентам:
Требования ко всем студентам:
- Уверенные знания Python, особенно ООП.
- Отличное владение Selenium или Playwright.
- Глубокие знания Pytest (фикстуры, косвенная и обычная параметризации, и прочее)
- Желание прокачать архитектурные навыки.
- 1 Введение в Page Object
Что такое паттерны и зачем они нужны
Знакомство с Page Object
Основные сущности
Вспомогательные методы
Первый тест в POM
Цепочка запуска
- 2 Инкапсуляция локаторов
Вспоминаем, что такое инкапсуляция
Применяем ее на практике
- 3 Мультистраничные тесты
Создание нескольких страниц
Базовая инициализация pages
Продвинутая инициализация pages + новая сущность
- 4 Метаклассы для локаторов
Что такое метаклассы
Избавляемся от картежей в Xpath-локаторах и CSS-селекторах
- 5 Зависимости проекта
Создание файла requirements.txt
Использование файла
- 6 Allure в Page Object
Маркировка в POM
Разница в шагах и их реализация
Генерация отчета
- 7 Виды интерфейсов
Декларативный интерфейс
Императивные интерфейс
Что выбрать?
- 8 Переменные окружения
Что такое переменные окружения
Как создать переменную
Мультистейджинг - тесты в разных окружениях
Запуск тестов в разных браузерах
- 9 Чувствительные данные
Введение
Установка зависимостей
Работа с файлом .env
Обьект для работы с данными
Динамическое изменение данных в зависимости от выбранного окружения
- 10 Мультиюзерность
Работа с несколькими юзерами - Часть 1 (Реализация через методы)
Работа с несколькими юзерами - Часть 2 (Реализация через фикстуру)
- 11 Page Components
Особенности использования page component
Выделение компонентов страницы
Применение компонентного подхода (2 варианта)
- 12 Мультирольность
Тесты для одной роли
Тесты для второй роли
Одинаковый тест для обеих ролей
Тест с немного отличающейся логикой для обеих ролей - используем ветвления
Разделение интерфейсов
- 13 Создание хелперов
Что такое и для чего нужны хелперы
Создание UI-хелпера
Подход в создании API и DB-хелперов
- 14 Fluent Interface
Что такое fluent-паттерн
Как работают цепочечные вызовы
Применение паттерна в автоматизации
https://qa-proka4.ru/patterns