Мы используем cookie для стабильной работы сервиса. Подробнее

"Автоматизация тестирования REST API" от Алексея Коледачкина

ФорматОнлайн
Длительность3 часа
Объём9 занятий
О курсе

Подробнее

Цель курса — поднять ваш уровень API-автоматизации с «умею писать тесты на requests» до «умею проектировать API-фреймворк». На выходе у вас будет собственная архитектура автотестов на Service Object Model, понимание асинхронности и набор паттернов, которые применяются в крупных QA-командах. Почему именно этот курс: На рынке много вводных курсов по API-тестированию, которые останавливаются на уровне «отправили GET — проверили статус-код». Этого недостаточно для Middle/Senior уровня. На реальных проектах нужно уметь валидировать сложные ответы через Pydantic, организовать архитектуру так, чтобы её не пришлось переписывать через спринт, логировать запросы для дебага в CI, ускорять прогон через асинхронность и быстро поднимать клиент из swagger.json. Этот курс закрывает именно эти темы — те, которые отделяют джуна от мидла на собеседовании. Что вы будете делать: Каждый модуль — это разбор темы на уровне кода и практические задания с автопроверкой. Вы будете строить Pydantic-модели для реальных API-ответов, рефакторить тесты в Service Object Model, писать асинхронные параллельные тесты на httpx, настраивать логирование с ротацией и в финале собирать собственный мини-фреймворк, который можно положить в портфолио. Программа курса (9 модулей): Библиотека requests — углублённая работа с GET/POST/PUT/PATCH/DELETE, headers, params, json, files, обработка ошибок. Pydantic. Часть 1 — BaseModel, автоматическое преобразование типов, Optional, вложенные модели, методы model_dump и model_dump_json. Pydantic. Часть 2 — валидация списков, ограничения через Field, Literal для enum-подобных значений, алиасы для camelCase API. Service Object Model. Часть 1 — структура проекта, разделение на endpoints / payloads / api, базовый хелпер для запросов. Service Object Model. Часть 2 — углублённая работа с архитектурой, переиспользование и масштабирование. Логирование — настройка logger, ротация файлов через RotatingFileHandler, форматирование, интеграция логов в API-классы. Введение в Locust — основы нагрузочного тестирования API. API Game Changer — автоматическая генерация клиента и Pydantic-моделей из swagger.json, интеграция через Docker. Библиотека httpx (текстовый урок) — современная альтернатива requests, синхронный и асинхронный Client, параллельные запросы через AsyncClient + asyncio.gather, HTTP/2, миграция с requests. Особенности курса: — Все примеры из реальных проектов, а не учебных «hello world». — Упор на архитектуру и поддерживаемость, а не на «написать как-нибудь, лишь бы прошло». — Параллельное знакомство с двумя HTTP-библиотеками (requests и httpx) — на работе встречаются обе. — Финальная архитектура — это тот же подход, что используется в QA-командах продуктовых компаний. После курса у вас будет навык уровня Middle AQA Engineer и готовый проект в портфолио, который этот уровень подтверждает.
Требования

Что нужно для старта

  • — Уверенное владение Python: ООП, классы, исключения, декораторы, типизация (type hints).
  • — Опыт работы с pytest: фикстуры, параметризация, conftest.py, маркеры.
  • — Понимание HTTP и REST на практическом уровне: методы, статус-коды, заголовки, JSON, авторизация через токен.
  • — Опыт работы с виртуальным окружением, pip и Git.
  • — Установленный Python 3.10+ и IDE (PyCharm или VS Code).
  • — Желательно: базовое знакомство с Allure и CI (GitHub Actions / GitLab CI), но не критично.
  • Если ещё не знаете Python и pytest — сначала пройдите курс по ним, у меня они тоже есть, иначе материал будет идти тяжело.
Результат

Что вы получите

  • Отправлять GET, POST, PUT, PATCH, DELETE-запросы через requests и httpx с корректной передачей headers, params, json и files.
  • Валидировать ответы API через Pydantic-модели с использованием Field, Literal, Optional и алиасов для camelCase ↔ snake_case.
  • Строить вложенные Pydantic-модели для сложных JSON-структур и обрабатывать ValidationError по production-стандартам.
  • Применять Service Object Model для построения масштабируемой архитектуры API-автотестов.
  • Разделять код на endpoints, payloads и api-методы для поддерживаемости тестов в долгосрочной перспективе.
  • Настраивать логирование с ротацией файлов и одновременным выводом в файл и консоль.
  • Запускать нагрузочные тесты через Locust и анализировать результаты.
  • Генерировать клиент API из swagger.json через инструмент API Game Changer.
  • Интегрировать автотесты с Allure для удобной отчётности по результатам прогона.
  • Обрабатывать таймауты, HTTP-ошибки и валидационные исключения в стиле production-кода.
  • Оформлять автотесты по индустриальным стандартам, готовые к показу на технических собеседованиях.
Аудитория

Для кого этот курс

  • Курс для тех, кто уже пишет автотесты на Python и хочет прокачаться именно в API-направлении: от хаотичных скриптов с requests к архитектуре, асинхронности и production-подходам.
  • Кому будет полезно:
  • — QA-автоматизаторам с опытом UI (Selenium/Playwright), которые впервые сталкиваются с серьёзным API-проектом и не хотят изобретать велосипед.
  • — Backend-разработчикам, которые пишут на Python и хотят покрыть свой API качественными интеграционными тестами по индустриальным паттернам.
  • — Python-разработчикам, которым нужно глубже разобраться в теме
  • .
  • Когда курс особенно полезен:
  • — На проекте появился API, который нужно покрыть автотестами, а готовых паттернов в команде нет.
  • — Уже пишете API-тесты, но они превратились в копипасту — пора разобраться с архитектурой через Service Object Model.
  • — Готовитесь к собеседованию на Middle/Senior AQA, где спрашивают про Pydantic, асинхронность и подходы к организации тестов.
  • — Хотите перейти от requests к httpx и асинхронным тестам, чтобы ускорить прогон в десятки раз.
Содержание

Программа курса

9 занятий
№ТемаЧто внутри
01Библиотека requests

- Видеоурок
- Введение в requests
- Работа с GET-запросами
- Работа с POST, PUT, PATCH-запросами
- Работа с DELETE-запросами
- Полезные API для практики
- Полезные советы при выполнении домашней работы
- Самостоятельная работа

02 Pydantic - Часть 1

- Видеоурок
- Что такое Pydantic?
- Фундамент Pydantic: BaseModel
- Автоматическое преобразование типов
- Обработка ошибок валидации
- Работа с Optional полями
- Вложенные модели
- Основные методы BaseModel
- Самостоятельная работа

03Pydantic - Часть 2

- Видеоурок
- Валидация списков
- Кастомные валидаторы
- Модуль Typing
- Основные типы из модуля typing
- Literal - ограничение возможных значений
- Класс Field - дополнительные параметры полей
- Числовые ограничения с Field
- Строковые ограничения с Field
- Дополнительные возможности Field
- Алиасы (Aliases) - работа с разными стилями именования
- Комплексный пример
- Практические советы
- Самостоятельная работа

04Service Object Model - Часть 1

- Видеоурок
- Что такое Service Object Model и зачем он нужен
- Структура проекта
- API хелпер

05Service Object Model - Часть 2

- Видеоурок
- Код с занятия
- Слой services/ — Service Object
- Слой endpoints.py — адреса API
- Слой payloads.py — тела запросов
- Слой models/ — Pydantic-модели ответов
- Слой utils/helper.py — общая логика валидации ответов
- Слой config/ — окружения и заголовки
- Слой auth/ — токены и фабрика ролей
- conftest.py и BaseTest — точка входа в тесты
- Полный цикл одного теста: что происходит и в каком порядке
- Логирование и Allure-отчёты
- Как добавить новый сервис в проект (пошагово)
- Разбор тонких мест и типичных ошибок в коде

06Логирование

- Видеоурок
- Что такое логирование
- Уровни логирования
- Настройка логирования и запись в файл
- Логирование в несколько мест (в файл и консоль)
- Ротация логов
- Создание логера

07Введение в Locust

- Видеоурок
- Что такое Locust и зачем он нужен
- Чем нагрузочный тест отличается от функционального
- Структура проекта и связь с SOM
- locustfile.py — точка входа
- config.py — переменные окружения
- client.py — обёртка LocustRestClient
- tasks/ — атомарные операции с API
- flows/ — бизнес-сценарии
- Как Locust «крутит» нагрузку: жизненный цикл виртуального пользо
- Запуск Locust: UI и headless-режимы
- Чтение метрик: что показывает Locust в интерфейсе
- Параметризация: wait_time, weight, tasks
- Как добавить новый сценарий (пошагово)
- Разбор тонких мест и неточностей в коде
- Приложение: команды для запуска

08API Game Changer

- Видеоурок
- Настройки проекта

09Работа с HTTP-запросами: библиотека httpx

- Введение в httpx
- Синхронные запросы (как в requests)
- Работа с POST, PUT, PATCH-запросами
- Работа с DELETE-запросами
- Теория: Асинхронность в Python
- Асинхронность в автотестах: реальные сценарии
- Главная фишка httpx: Асинхронные запросы
- Использование Client (рекомендуемый подход)
- Настройка таймаутов
- HTTP/2 поддержка
- Обработка ошибок
- Полезные API для практики
- Полезные советы
- Миграция с requests на httpx

01Библиотека requests

- Видеоурок
- Введение в requests
- Работа с GET-запросами
- Работа с POST, PUT, PATCH-запросами
- Работа с DELETE-запросами
- Полезные API для практики
- Полезные советы при выполнении домашней работы
- Самостоятельная работа

02 Pydantic - Часть 1

- Видеоурок
- Что такое Pydantic?
- Фундамент Pydantic: BaseModel
- Автоматическое преобразование типов
- Обработка ошибок валидации
- Работа с Optional полями
- Вложенные модели
- Основные методы BaseModel
- Самостоятельная работа

03Pydantic - Часть 2

- Видеоурок
- Валидация списков
- Кастомные валидаторы
- Модуль Typing
- Основные типы из модуля typing
- Literal - ограничение возможных значений
- Класс Field - дополнительные параметры полей
- Числовые ограничения с Field
- Строковые ограничения с Field
- Дополнительные возможности Field
- Алиасы (Aliases) - работа с разными стилями именования
- Комплексный пример
- Практические советы
- Самостоятельная работа

04Service Object Model - Часть 1

- Видеоурок
- Что такое Service Object Model и зачем он нужен
- Структура проекта
- API хелпер

05Service Object Model - Часть 2

- Видеоурок
- Код с занятия
- Слой services/ — Service Object
- Слой endpoints.py — адреса API
- Слой payloads.py — тела запросов
- Слой models/ — Pydantic-модели ответов
- Слой utils/helper.py — общая логика валидации ответов
- Слой config/ — окружения и заголовки
- Слой auth/ — токены и фабрика ролей
- conftest.py и BaseTest — точка входа в тесты
- Полный цикл одного теста: что происходит и в каком порядке
- Логирование и Allure-отчёты
- Как добавить новый сервис в проект (пошагово)
- Разбор тонких мест и типичных ошибок в коде

06Логирование

- Видеоурок
- Что такое логирование
- Уровни логирования
- Настройка логирования и запись в файл
- Логирование в несколько мест (в файл и консоль)
- Ротация логов
- Создание логера

07Введение в Locust

- Видеоурок
- Что такое Locust и зачем он нужен
- Чем нагрузочный тест отличается от функционального
- Структура проекта и связь с SOM
- locustfile.py — точка входа
- config.py — переменные окружения
- client.py — обёртка LocustRestClient
- tasks/ — атомарные операции с API
- flows/ — бизнес-сценарии
- Как Locust «крутит» нагрузку: жизненный цикл виртуального пользо
- Запуск Locust: UI и headless-режимы
- Чтение метрик: что показывает Locust в интерфейсе
- Параметризация: wait_time, weight, tasks
- Как добавить новый сценарий (пошагово)
- Разбор тонких мест и неточностей в коде
- Приложение: команды для запуска

08API Game Changer

- Видеоурок
- Настройки проекта

09Работа с HTTP-запросами: библиотека httpx

- Введение в httpx
- Синхронные запросы (как в requests)
- Работа с POST, PUT, PATCH-запросами
- Работа с DELETE-запросами
- Теория: Асинхронность в Python
- Асинхронность в автотестах: реальные сценарии
- Главная фишка httpx: Асинхронные запросы
- Использование Client (рекомендуемый подход)
- Настройка таймаутов
- HTTP/2 поддержка
- Обработка ошибок
- Полезные API для практики
- Полезные советы
- Миграция с requests на httpx

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «"Автоматизация тестирования REST API" от Алексея Коледачкина» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Направления:QA-тестирование

Информация обновлена 14 сентября 2026 г.

Продолжить выбор

Похожие курсы

Основы автоматизированного тестирования + ИИ-инструменты
−10%5 октября
Основы автоматизированного тестирования + ИИ-инструменты

Курс по автоматизации тестирования для повышения эффективности и качества тестирования ПО. Курс "Основы автоматизированного тестирования" предназначен для специалистов в области I…

Онлайн8 занятийСредний
Практические занятия
12 000 ₽−10%
10 800 ₽
Тестирование ПО: Нагрузочное тестирование с помощью Jmeter
от 5 часов в неделю
Тестирование ПО: Нагрузочное тестирование с помощью Jmeter

ВНИМАНИЕ!!! В данном курсе абсолютно НЕТ ВОДЫ и ненужной информации. Если Вы любите бесполезные, скучные и нудные видео от которых хочется спать — то Вам не подойдет данный курс.…

Онлайн8 занятий
3 299 ₽
Charles Proxy — Анализ сетевого трафика
Charles Proxy — Анализ сетевого трафика

Цели курса Научить глубоко понимать взаимодействие клиент-серверной архитектуры через призму HTTP и сетевого трафика. Разобрать и освоить основные и продвинутые инструменты Charle…

Онлайн7 занятий
2 390 ₽
Метрики для оценки качества продукта и процесса + возможности ИИ
−10%21 сентября
Метрики для оценки качества продукта и процесса + возможности ИИ

Метрики качества ПО для оптимизации тестирования и повышения эффективности разработки. Курс предназначен для специалистов в области ИТ, желающих углубить свои знания в управлении…

Онлайн6 занятийПродвинутый
Практические занятия
11 900 ₽−10%
10 710 ₽
Тестирование ПО с нуля. Теория + практика. Продвинутый курс с ИИ
4-5 часов в неделю
Тестирование ПО с нуля. Теория + практика. Продвинутый курс с ИИ

Тестирование ПО с нуля до продвинутого — самый полный курс с практикой и проверкой от ИИ с регулярными обновлениями Включен в программу из 4 платных курсов с большой выгодой Хотит…

Онлайн15 занятий
5 900 ₽
Начать без затрат

Бесплатные курсы

Основы тестирования
Бесплатно1 час
Основы тестирования

Вы получите знания об основах тестирования программного обеспечения. Здесь вы познакомитесь с основными видами тестирования, методологиями и инструментами, которые используются в…

Онлайн1 занятийНачальный
Домашние задания
Бесплатно
Stepik-микс: универсальный квиз
Бесплатно
Stepik-микс: универсальный квиз

💫 Для тех, кто хочет попробовать что-то новое! Недавно платформе Stepik исполнилось 11 лет. В честь нашего Дня рождения мы решили сделать для вас этот необычный курс. Это не курс…

Онлайн5 занятий
Бесплатно