Продвинутый курс по автоматизации тестирования Python Advanced (2025) [Qa.Guru] [Станислав Васенков, Артём Ерошенко, Сергей Хомутинин]
Чему мы учим?
Вы прокачаете знания в автоматизации на Python до уровня Senior+ и разнообразите портфолио впечатляющими кейсами
Программу постоянно обновляем, чтобы вы учились только актуальному.
Что нужно знать / уметь / иметь, чтобы обучаться на курсе?
Операционная система: Win / Mac / Linux, 8 ГБ ОЗУ, процессор i3 2,8 Ghz или лучше. Минимум 6 свободных часов в неделю, ~4 из них будут занимать занятия. Плюс домашки, время выполнения которых сильно зависит от выбранного подхода и опыта в IT.
Преподаватели курса
Наши преподаватели формируют облик индустрии. QA-инженеры по всему миру ежедневно используют ПО, над которым они работают.
Станислав Васенков. Основатель QA.GURU
Артём Ерошенко. Qameta Software
Сергей Хомутинин. QА Lead
Дмитрий Тучс. Dodo Brands
Александр Котляр. QA Lead
Владислав Зингер. Dodo Engineering
Валерий Меньшиков. Senior Python Developer в Ozon Tech
Поток 16 января 2025 - 27 августа 2025
Цена: 49500 руб.
Чему мы учим?
Вы прокачаете знания в автоматизации на Python до уровня Senior+ и разнообразите портфолио впечатляющими кейсами
- Архитектура и дизайн
Глубокому пониманию Python 3.12, разработке микросервисов на FastAPI, Docker, Postgres. - Покроем всё
Тестированию нестандартных протоколов взаимодействия: gRPC, GraphQL, SOAP. А также работе с базами данных и Kafka, и с такими инструментами как docker и docker-compose. - Кроме того
Создадим весь код с нуля, исследуем, как тестируемые технологии работают в Spring Boot под капотом.
Программу постоянно обновляем, чтобы вы учились только актуальному.
- Дополнительное занятие с базового курса Python. Venv, Poetry и управление зависимостями проекта
- Построение минимального микросервиса с FastApi и тесты
- Доработаем микросервис – добавим базу данных
- Запускаем микросервис в docker
- Деплоим микросервис с GitHub Actions
- Продвинутые техники автоматизации REST API с Requests. Часть I
- Знакомство с проектом Niffler
- Расширение функциональности Pytest: пишем свои фикстуры и управляем запуском теста
- Работаем с реляционными базами данных из тестов
- Нативное тестирование Android – Kaspresso
- Кастомизация фреймворков – расширяем Allure, Selenium, Requests
- Маскирование чувствительных данных в логах модуля logging
- Реализуем OAuth авторизацию с помощью кастомизации requests
- Продвинутые техники REST API с Requests. Часть II
- REST API. Прокачаем Allure-отчеты
- Нативное тестирование iOS – Swift + XCTest. Часть I
- Нативное тестирование iOS – Swift + XCTest. Часть II
- Нативное тестирование iOS. XCTest. Часть III
- Параллелизация тестов в pytest: как не выстрелить себе в ногу
- Unit тесты – пишем тестируемый код и тесты для него
- Продвинутое занятие по devtools – секреты инструментов разработчика
- REST API. Какие тесты нужно проводить, а какие – нет
- Apache kafka – тестируем асинхронные микросервисы
- Тестируем SOAP сервисы с помощью requests. Часть I
- Тестируем SOAP сервисы с помощью requests. Часть II
- Установочное занятие по диплому
- Конференции – готовим доклад и себя к выступлению
- CI/CD – pipeline, к которому мы шли
- Дополнительное занятие. Selene
- Дополнительное занятие. Allure Reports
- Пишем первые тесты, разбираемся с селекторами
- Переиспользуем код между разными тестами
- Погружение: пишем тесты для сложных сценариев
- Page Object паттерн в IOS тестах
- Особенности XCUITests
- Финальная лекция блока
- PC сервисы с помощью нативных библиотек
- gRPC. Разработка серверной части.
- gRPC. Клиентская часть и разработка автотестов.
- Q&A по дипломному проекту
- Выпускной!
Программа курса
Программу постоянно обновляем, чтобы вы учились только актуальному.
1. Дополнительное занятие с базового курса Python. Venv, Poetry и управление зависимостями проекта
План урока:
План урока:
План урока:
План урока:
План урока:
План урока:
Продвинутые автотесты для REST API с requests
7. Знакомство с проектом Niffler
План урока:
План урока:
План урока:
11. Кастомизация фреймворков – расширяем Allure, Selenium, Requests
План урока:
План урока:
Еще немного про настройку логирования
13. Реализуем OAuth авторизацию с помощью кастомизации requests
План урока:
15. REST API. Прокачаем Allure-отчеты
16. Нативное тестирование iOS – Swift + XCTest. Часть I
План урока:
План урока:
План урока:
План урока:
План урока:
Пишем тестируемый код и тесты для него
21. Продвинутое занятие по devtools – секреты инструментов разработчика
План урока:
23. Apache kafka – тестируем асинхронные микросервисы
План урока:
План урока:
План урока:
План урока:
Презентация дипломного проекта и постановка задачи
27. Конференции – готовим доклад и себя к выступлению
План урока:
План урока:
Рассматриваем вопросы сборки проекта и деплоя на прод с использованием GHA
29. Дополнительное занятие. Selene
30. Дополнительное занятие. Allure Reports
План урока. Практическая часть:
1. Обзор возможностей Allure Reports
31. Пишем первые тесты, разбираемся с селекторами
План урока:
План урока:
План урока:
План урока:
План урока:
План урока:
1. Как максимально быстро настроить автоматический запуск тестов и оповещения в мессенджер
37. PC сервисы с помощью нативных библиотек
План урока:
1. Изучаем подготовительные материалы
38. gRPC. Разработка серверной части.
39. gRPC. Клиентская часть и разработка автотестов.
План урока:
Отвечаем на вопросы, возникшие при работе над дипломным проектом
41. Выпускной!
Программу постоянно обновляем, чтобы вы учились только актуальному.
1. Дополнительное занятие с базового курса Python. Venv, Poetry и управление зависимостями проекта
План урока:
- Поговорим подробнее о virtualenv и requirements.txt
- Рассмотрим Poetry в качестве альтернативы, чем он лучше и какие задачи решает3. Разберем файл pyproject.toml
План урока:
- Разработаем "правильный" микросервис, обсудим подходы
- Добавим реализацию пагинации
- Обновим тесты
План урока:
- Добавим реализацию базы данных (docker + postgres)
- Обновим тесты
План урока:
- Запустим микросервис и тесты в docker, docker-compose
- Обновим тесты
План урока:
- Настроим деплой микросервиса с Github Actions.
- Обновим тесты
План урока:
Продвинутые автотесты для REST API с requests
7. Знакомство с проектом Niffler
План урока:
- Обзор проекта
- Запуск проекта в Docker
План урока:
- Жизненный цикл теста.
- Фикстура для работы с WebDriver
План урока:
- Psycopg2 краткая теория
- Пишем код на Psycopg2
- Транзакции в Psycopg2
- SQLAlchemy краткая теория
- Пишем код на SQLAlchemy
- Применимость DAO и Repository
11. Кастомизация фреймворков – расширяем Allure, Selenium, Requests
План урока:
- Жизненный цикл теста в pytest
- Добавляем и расширяем allure report
- Кастомные аттачменты для requests и sql
План урока:
Еще немного про настройку логирования
13. Реализуем OAuth авторизацию с помощью кастомизации requests
План урока:
- Краткая теория OAuth авторизации
- Пишем свои HTTP interceptors
- Реализуем авторизацию через pytest fixtures.
15. REST API. Прокачаем Allure-отчеты
16. Нативное тестирование iOS – Swift + XCTest. Часть I
План урока:
- Сравнение XCUITest c другими фреймворками – плюсы и минусы
- Среда разработки Xcode
- Полезные вспомогательные приложения
- Подпись приложений и модели распространения iOS приложений
- Схема и таргет
- Основы программирования на Swift
- Swift Playground
- Переменные
- Базовые операторы
- Методы
- Классы и структуры
- Фреймворки XCTest и XCUITest
- Локаторы и типы локаторов
- Как искать локаторы
- Взаимодействие с локаторами
- Тест отчеты – XCResult
- Q&A + полезные ссылки
План урока:
- Менеджеры зависимостей – SPM, cocoapods и carthage
- Паттерны автотестов – Page Factory и Page Object
- Мокирование сети в тестах
- Интеграция с Allure
- Интеграция с Сi/CD
- Fastlane
- Интеграция со Slack
- Github Action + iOS9. Сторонние нативные фреймворки iOS автоматизации
- Q&A + полезные ссылки
План урока:
- Ассерты и ожидания
- Взаимодействие со системными диалогами
- XCTContext - делаем тест отчет информативным
- Выгрузка отчетов в testops после прогона в Xcode
- Кастомные аннотации для отчета
План урока:
- Краткая теория concurrency
- Пишем безопасный в многопоточной среде код тестов
- Особенности работы с pytest fixtures при многопоточном выполнении тестов
План урока:
Пишем тестируемый код и тесты для него
21. Продвинутое занятие по devtools – секреты инструментов разработчика
План урока:
- Пробежимся по документации: общие опции, опции хрома
- Пробежимся по кнопкам, по вкладкам devtools
- Вкладка Sources devtools
- Вкладка Network devtools
23. Apache kafka – тестируем асинхронные микросервисы
План урока:
- Apache Kafka Теория и применимость
- Kafka в проекте на FastAPI
- Пишем свой Consumer и pytest fixture для его использования в тестах.
План урока:
- Тестируем SOAP
- XML
- WSDL
- Отправляем запрос из Постмана и с помощью библиотеки requests
План урока:
- Формирование xml тела запроса с помощью jinja2
- Формирование XSD схем для валидации тела ответа
- Валидация тела ответа с помощью xmlschema
- Проверка значения тега в теле ответа
План урока:
Презентация дипломного проекта и постановка задачи
27. Конференции – готовим доклад и себя к выступлению
План урока:
- Как попасть на конференцию спикером
- Как готовиться
- Презентация – хорошая и плохая
- Дискуссия до и после доклада
- Ради чего? Плюсы и минусы
План урока:
Рассматриваем вопросы сборки проекта и деплоя на прод с использованием GHA
29. Дополнительное занятие. Selene
30. Дополнительное занятие. Allure Reports
План урока. Практическая часть:
- Подключение Allure Reports и настройка отчетности о прохождении автотестов
- Построение более информативной отчетности c вложениями – прикладываем скриншоты, файлы, логи и другие вложения в отчет
1. Обзор возможностей Allure Reports
31. Пишем первые тесты, разбираемся с селекторами
План урока:
- Что такое селекторы, как по них находить элементы
- Как посмотреть дерево элементов через консоль
- Как работать с брейкпойнтами во время написания теста
- Как добавить первые тесты в проект
- Как запускать тесты
- Пишем первый тест на экране регистрации
План урока:
- Пишем второй тест и переиспользуем код между ними
- Стабилизируем тесты: сбросив данные о регистрации
- Как деталилазия шагов упрощает чтение тест-репорта
- Выносим общий код в сетап и тирдаун
План урока:
- Добавляем accessibilityIdentifier для тестов
- Пишем сложный тест на три экрана — проходим авторизацию, добавляем новые траты и проверяем, что они появились в общем списке.
- Упрощаем тест, чтобы его легко было прочитать.
План урока:
- Делим тесткейсы на разные файлы
- Зачем нужны пейджобжекты и как они помогают писать новые тесты
- Описываем структуру пейдж-обжекта и переносим все прошлые тесты на них
План урока:
- Приводим тесты к нужной структуре, обсуждаем название тестов
- Обсуждаем разные способы получения селекторов
- Способы ускорения тестов
План урока:
1. Как максимально быстро настроить автоматический запуск тестов и оповещения в мессенджер
37. PC сервисы с помощью нативных библиотек
План урока:
1. Изучаем подготовительные материалы
38. gRPC. Разработка серверной части.
39. gRPC. Клиентская часть и разработка автотестов.
План урока:
- Добавляем accessibilityIdentifier для тестов
- Пишем сложный тест на три экрана — проходим авторизацию, добавляем новые траты и проверяем, что они появились в общем списке.
- Упрощаем тест, чтобы его легко было прочитать.
Отвечаем на вопросы, возникшие при работе над дипломным проектом
41. Выпускной!
Операционная система: Win / Mac / Linux, 8 ГБ ОЗУ, процессор i3 2,8 Ghz или лучше. Минимум 6 свободных часов в неделю, ~4 из них будут занимать занятия. Плюс домашки, время выполнения которых сильно зависит от выбранного подхода и опыта в IT.
Преподаватели курса
Наши преподаватели формируют облик индустрии. QA-инженеры по всему миру ежедневно используют ПО, над которым они работают.
Станислав Васенков. Основатель QA.GURU
Артём Ерошенко. Qameta Software
Сергей Хомутинин. QА Lead
Дмитрий Тучс. Dodo Brands
Александр Котляр. QA Lead
Владислав Зингер. Dodo Engineering
Валерий Меньшиков. Senior Python Developer в Ozon Tech
Поток 16 января 2025 - 27 августа 2025
Цена: 49500 руб.
https://qa.guru/python_advanced