Автоматизация тестирования UI с Python и Playwright. Базовый

- Уроков: 60
- Сложность: easy
- Аудитория: — Для тех, кто только начинает свой путь в IT и хочет освоить профессию QA Automation Engineer. — Для специалистов, которые уже работают в сфере IT и хотят сменить профиль на QA Automation Engineer. — Для специалистов, которые уже работают по профессии QA Automation Engineer и хотят укрепить свои знания или освоить автоматизацию UI.
💻 Этот курс — погружение в профессию QA Automation Engineer
Мы будем работать с современными и востребованными технологиями, такими как Playwright, Allure, Allure TestOPS и Pytest. Без воды, только практическая информация, которую вы сможете сразу применить в реальных проектах.
📌 Почему этот курс?
Этот курс — не только про инструменты, такие как Selenium или Playwright. Он ориентирован на освоение профессии QA Automation Engineer в полном смысле этого слова. В отличие от многих других курсов, которые фокусируются только на одном инструменте (например, Selenium), данный курс охватывает гораздо более широкий спектр знаний и навыков.
QA Automation Engineer — это не просто специалист по работе с одним инструментом. Это инженер, который должен понимать принципы автоматизации, паттерны проектирования, методы тестирования и умело применять все эти знания для решения реальных задач. В этом курсе учимся работать с комплексными подходами к автоматизации тестирования, которые будут полезны независимо от конкретной технологии или инструмента.
🔥 Мы будем изучать:
- Как проектировать и строить гибкие, поддерживаемые тестовые фреймворки.
- Как правильно применять паттерны автоматизации, такие как Page Object, Page Component и Page Factory.
- Как интегрировать инструменты для создания отчетов, работы с CI/CD и организации тестирования на различных браузерах.
- Как работать с Python, Pytest, Playwright, Allure и многими другими современными технологиями, которые востребованы на рынке.
- Как измерять покрытие UI тестов с помощью уникального инструмента
ui-coverage-tool
, визуализируя действия автотестов прямо на живом интерфейсе.
В курсе вы получите знания и навыки, которые позволят вам работать как инженер, а не просто как специалист по одному инструменту.
✨ Курс основан на моем реальном опыте работы в автоматизации тестирования. За 9 лет в профессии, включая последние 2 года на позиции QA Lead, я работал с различными языками программирования: Python, TypeScript/JavaScript, C#, Golang, Swift — применяя их для решения сложных задач тестирования в боевых проектах. Этот опыт позволяет мне наполнить курс практическими знаниями, которые можно сразу внедрить в реальные проекты. 🚀
👨💻 Помимо технической экспертизы, провел сотни собеседований как кандидат и интервьюер, что помогает мне давать рекомендации не только по автоматизации, но и по успешному прохождению интервью. 💼
📚 Весь концентрат знаний, который накопил, теперь представлен в этом курсе.
📌 Чем этот курс отличается от других?
🔥 Современный стек технологий
Мы изучаем только востребованные инструменты:
- Playwright — мощная альтернатива Selenium, обладающая уникальными возможностями.
- Allure и Allure TestOPS — инструменты для детализированной отчетности.
- Pytest — удобный и гибкий фреймворк для написания тестов.
- Page Factory — редкий, но мощный паттерн.
В этом курсе подробно разбирается Page Factory — продвинутая техника построения UI автотестов, про которую мало кто знает. Я сам являюсь автором имплементации этого паттерна на Python, и здесь вы получите информацию из первых рук.
🔥 Уникальный инструмент для анализа покрытия UI-тестов
Вы получите доступ к первому в мире инструменту, который позволяет визуализировать покрытие UI автотестами прямо на живом сайте. Это не скриншоты и не симуляция — вы работаете с настоящим интерфейсом, где подсвечиваются действия: клики, ввод, проверки.
📊 Всё, что делает ваш тест, отображается в интерактивном отчёте — вы буквально видите, что покрыто, а что забыто.
🔬 Этот инструмент не имеет аналогов ни в одном обучающем продукте. Он был разработан лично автором курса специально для того, чтобы вы могли применить его в реальных проектах.
🔥 Расстановка data-test-id
в реальном frontend-приложении
С нуля установим и запустим фронтенд на React + TypeScript, после чего детально разберём, как правильно и по best practices расставлять тестовые идентификаторы прямо в боевом коде. Научитесь готовить фронтенд-проект к автоматизации так, как это делают в сильных командах — это серьёзно повышает ценность автотестов в реальных продуктах.
🔥 Комплексный подход
Фокус на лучших практиках и проверенных паттернах. Только полезная информация без лишней воды и абстракций. Материал подаётся последовательно, с сохранением баланса между доступностью изложения и глубиной проработки.
🔥 Подача информации
Курс можно проходить как в видеоформате, так и по текстовым материалам. Вся информация из видео дублируется в тексте, а также дополняется большим количеством полезных материалов, нюансов, практических советов и рекомендаций.
🎯 Главная задача курса
Я не просто рассказываю, "как открыть дверь и завести машину". Здесь вы:
- 🚗 Узнаете все нюансы — как открыть дверь, чтобы не поцарапать лак, как правильно садиться, чтобы не помять боковину сиденья, и как завести двигатель с минимальным износом.
- 📢 На собеседовании никто не спросит "как открыть дверь", но спросят "какая поршневая лучше — чугунная или железная?" Важно знать детали, и именно им уделено внимание в курсе.
🎓 Что включает в себя базовая версия курса?
- 🧩 Полноценные уроки и практические задания — весь учебный материал остаётся доступным: видеоуроки, код, задания, объяснения.
- 🔍 Формат "Всё сам" — вы выполняете задания самостоятельно, без обратной связи от преподавателя. Это отличный вариант для тех, кто готов разбираться в материале самостоятельно.
- 📂 Пример решения под спойлером — каждое практическое задание сопровождается готовым примером решения от преподавателя. Вы можете сверить свой подход и разобрать логику решения.
- 🚫 Без проверки заданий — в базовой версии преподаватель не проверяет решения, не даёт фидбэк и не отвечает на вопросы. Поддержка возможна только в рамках расширенного курса.
- 📌 Кому подойдёт этот формат? Этот формат отлично подойдёт тем, кто:
- предпочитает учиться в самостоятельном темпе;
- уже имеет базовый опыт и хочет восполнить пробелы;
- не нуждается в консультациях и проверке кода.
🔥 Как устроено обучение?
В процессе курса вы будете:
- ✅ Изучать теоретическую часть в удобном формате.
- ✅ Смотреть подробные разборы на видео.
- ✅ Решать тесты с автоматической проверкой.
- ✅ Выполнять практические задания. Будет очень много практики!
Каждый урок максимально насыщен:
- 🎯 Глубокая проработка темы с разбором нюансов и тонкостей.
- 🔎 Практика в видео + тестовые задания + советы и рекомендации.
⚠️ Важно! Модули в курсе будут открываться постепенно. Чтобы перейти к следующему модулю, необходимо набрать определенное количество баллов в текущем. Это вынужденная мера. Выполнять все задания не требуется, достаточно выполнить основную часть.
📚 Дополнительные бесплатные материалы
Перед прохождением курса, вы можете ознакомиться с моими статьями:
- 📄 Как правильно писать UI автотесты на Python
- 📄 UI автотесты на Python с запуском на CI/CD и Allure отчетом. PageObject, PageComponent, PageFactory
- 📄 Асинхронные тесты для UI и API на Python: примеры, подводные камни и трезвый вывод
- 📄 Измерение покрытия UI тестами
- 📄 Измерение покрытия UI тестами. Следующий уровень
- 📄 Как правильно писать API автотесты на Python
- 📄 И другие
🔗 Мои ресурсы:
- LinkedIn: https://www.linkedin.com/in/nikita-filonov-b945871a6/
- Medium: https://medium.com/@filonov.nikitkaa
- GitHub: https://github.com/Nikita-Filonov
- Habr: https://habr.com/ru/users/sound_right/articles/
🏊♂️ Плавность погружения в тему
Представьте, что вы начинаете проходить курс, и вам сначала объясняют, как работать с отверткой, потом — как пользоваться гаечным ключом, а в конце дают задание собрать синхрофазатрон. Думаю, такая перспектива не обрадует никого. В данном курсе мы будем максимально плавно погружаться в тему. Это как ванная, в которой температура воды понижается на 1 градус каждые 15 минут — вы не заметите, как начнете работать с более сложными вещами, постепенно переходя от простого к сложному.
💡 История создания курса
Когда я начинал изучать автоматизацию тестирования UI, мне понадобилась всего неделя или две, чтобы научиться открывать браузер, кликать по кнопкам, вводить данные в поля ввода. Однако вопросы, которые меня действительно мучили, были гораздо глубже: как правильно организовать тесты, как выбрать лучшие практики, чтобы не только решить задачу, но и сделать код легко поддерживаемым и эффективным в долгосрочной перспективе? Это тот опыт, который невозможно получить за несколько дней.
Во многих курсах вы получите полезные знания по инструментам автоматизации, таким как Selenium или Playwright, но этого недостаточно для того, чтобы стать настоящим инженером по автоматизации. Зачастую вам показывают, как пользоваться инструментом, но не дают полноценного понимания, как решать реальные задачи. В результате вы можете почувствовать себя как человек, которому дали инструмент и рассказали, как его использовать, но когда на собеседовании или в реальном проекте вас попросят решить более сложную задачу, вам будет трудно применить полученные знания.
В этом курсе вы получите знания, которые обычно приходят только после многолетней работы в реальных проектах, и это позволит вам сразу делать качественные и поддерживаемые автотесты. Здесь вы освоите не только инструменты, но и основные принципы и лучшие практики.
📌 Об авторских правах и официальной покупке курса
Курс распространяется только на платформе Stepik. Приобретая его здесь, вы получаете:
- Полный доступ ко всем материалам: видео, тексты, задания, тесты, инфраструктура;
- Обновления и новые модули, которые появляются по мере развития курса;
- Я регулярно отвечаю на вопросы в комментариях, помогаю с кодом и разборами;
- Актуальные версии стенда, конфигов и приложений, которые синхронизированы с уроками.
🎓 Курс построен как живой инженерный продукт — с инфраструктурой, CI/CD, задачами и поддержкой. Всё это работает только в официальной версии.
💬 Если вы находите курс на сторонних сайтах — знайте, что в таких копиях:
- отсутствуют задания с проверкой;
- нет комментариев, обновлений и обратной связи;
- часто используются устаревшие материалы или неполные версии уроков.
Это уже не тот курс, который я задумывал.
Если вы хотите пройти курс «как он есть», с поддержкой, проверкой и развитием — проходите его здесь, на Stepik.
-
Базовое знание Python: Понимание синтаксиса языка, основы работы с переменными, функциями, классами и библиотеками.
-
Понимание основ программирования: ООП, алгоритмы, структуры данных — это поможет вам лучше ориентироваться в материалах курса.
-
Желание учиться и развиваться: Курс требует активности и стремления к освоению новых знаний и практик.
-
Уверенное использование компьютера и браузера: Умение работать с IDE, устанавливать необходимые программы и использовать браузер для тестирования.