Автоматизация тестирования REST API на Python

Ближайший старт: 03 ноября 2021
4
недели на освоение востребованного навыка
30
различных API-методов мы создали для практики
5
популярных библиотек используем в нашем фреймворке
На рынке мало автоматизаторов API
Компании готовы нанимать специалистов с навыками автоматизации на хорошие зарплаты
> 400 вакансий
автоматизаторов открыто сейчас на hh.ru
~ 120,000 руб.
Средняя зарплата автоматизатора
4 недели
нужно, чтобы освоить автоматизацию API
Спрос на автоматизаторов API растет
В современном мире тестирование API становится неотъемлемой частью тестирования продукта в целом. Если раньше приложение взаимодействовало только со своим сервером, то в наши дни ни одно приложение не обходится без общения с сервисами метрик, социальными сетями и другими приложениями. Это общение происходит через API.

Соответственно, кратно растет спрос на специалистов, которые будут тестировать эти API.

При этом API — одна из наиболее легко автоматизируемых частей тестирования. Она по определению предполагает возможности лёгкого управления с помощью программ. А значит, начать с него путь в автоматизации куда проще, чем с UI тестов.

В отличие от популярных инструментов для UI-тестирования, специалистов по тестированию API значительно меньше, и они куда более востребованы. А из двух наиболее популярных языков программирования Python является совершенно точно более простым в освоении.

Курс Автоматизация тестирования API на Python специально создан для быстрого погружения в навыки, необходимые тестировщику для успешного старта карьеры в автоматизации. Да и для ручного тестировщика понимание внутреннего устройства API и возможность быстро проверить свои гипотезы простым скриптом будут значительными плюсами в работе.

На этом курсе вы научитесь:

  • Устанавливать и настраивать окружение для работы - Python, PyCharm
  • Скачивать нужные для работы пакеты и библиотеки
  • Понимать устройство HTTP-протокола, API и REST
  • Работать с авторизационными и сессионными cookies
  • Работать с заголовками HTTP-запросов
  • Познакомитесь с форматом JSON и научитесь парсить ответы сервера
  • Писать простые и комплексные API-тесты
  • Создавать отчёты в Allure
  • Запускать тестирование API в Docker

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

  • для начинающих автоматизаторов
  • для тех, кто хочет эффективно и быстро автоматизировать тесты на API
  • для тех, кто уже перерос тесты в Postman
  • для тех, кому интересна крутая альтернатива стека на Java

Внимание. Созданный нами на занятиях фреймворк мы закинем на GitHub. Его можно будет добавить в резюме и применять на работе.

Для прохождения курса не нужны никакие предварительные знания о работе с API. Только общее представление о написании кода на любом языке программирования - что такое условие IF, как устроены циклы и что такое класс. Всему остальному мы научим.

Программа занятий
4 недели обучения
Урок 1: Настройка окружения, запуск первой программы
  • Мотивация - зачем тестировать API
  • Подбор стека технологий
  • Установка Python3 и Pycharm на популярные ОС
  • Введение в HTTP и API
  • Структура HTTP запроса
  • Создание проекта
  • Установка pip3

Урок 2: Создание простых запросов к API
  • Изучение тестового API
  • Пишем первый GET-запрос
  • Разбираемся с форматом JSON
  • Отправка data и get-параметров в запросе
  • Автоматический парсинг JSON
  • Работа с POST-запросами
  • Интерпретация кодов ответа сервера
  • Чтение и отправка headers запроса
  • Чтение и отправка cookies запроса

Урок 3: Интеграция pytest в проект
  • Знакомство с библиотекой pytest
  • Параметризованный тест
  • Создание API-тестов на авторизацию
  • Функция setup в pytest, фикстуры
  • Начало работы над фреймворком

Урок 4: Создание фреймворка и запуск в Docker
  • Создание фреймворка - работа с гибкими assert и verify
  • Создание API-тестов на регистрацию
  • Работа с PUT-запросами
  • Создание кастомных параметров запроса
  • Автоматическое логирование запросов и ответов, работа с логами
  • Добавление Allure-отчетов к проекту
  • Запуск проекта в Docker

Программа Git (опционально)
Введение

  • Что такое система контроля версий
  • Обзор систем контроля версий
  • Почему Git
Создание аккаунта на Github

  • Регистрация
  • Обзор интерфейса
  • Создание собственного репозитория

Настройка локальной работы

  • Установка Git на локальный компьютер
  • git clone

Информационные команды

  • git status
  • git diff
  • git log
  • git show
  • git blame

Работа с удаленной информацией

  • git fetch
  • git pull

Работа с локальными изменениями

  • git commit
  • git push
  • git merge

Буфер данных

  • git stash
  • git pop

Ветки (branch)

  • git branch
  • git branch delete
  • git checkout

Работа с файлами

  • git add
  • git reset
  • git reset --soft
  • git reset --hard
  • git reset HEAD

Конфигурация Git

  • git alias
  • user
  • color
  • .gitignore

Решение конфликтов

  • решение конфликта мержа ветки
  • решение конфликта буфера

GitFlow

  • Разбор типовых flow работы с Git

Разбор популярных сервисов

  • Регистрация на GitLab
  • Регистрация на BitBucket
    Программа Docker (опционально)
    Вступление
    • Что такое Docker
    • Отличие Docker от Virtual Machine
    • Для чего используют Docker
    • Почему для Windows и MacOS все не так?
    Установка Docker
    • Установка Docker на MacOS
    • Установка Docker на Windows
    • Установка Docker на Linux
    Первые команды
    • Версия Docker
    • Помощник Docker
    Контейнеры (containers)
    • Что такое контейнер
    • Как запустить контейнер
    • Параметры команды run
    • Запускаем контейнер с Ubuntu
    • Detached контейнеры
    • Attach запущенного контейнера
    • Работа с несколькими контейнерами одновременно
    • Работа с файлами внутри контейнера
    Тома (volumes)
    • Что такое том
    • Создаем, подключаем и удаляем том
    Монтирование (mount)
    • Mount bind - подключение директории хост-системы
    • Mount тома
    • Пример запуска программы на Python с mount
    • Readonly mode
    • Тестирование программы на разных версиях языка программирования на примере Python
    Образы (images)
    • Что такое образ
    • Качаем образ
    • Выбираем версии
    Docker Hub
    • Регистрируемся на Docker Hub
    • Авторизация Docker из терминала
    • Создаем свой первый образ
    • Заливаем свой образ на Docker Hub
    Проксирование портов
    • Запускаем Selenium Server через Docker
    • Запускаем Selenium Server через Docker правильно
    • Создаем Selenium-сессия на запущенном контейнере
    Работа с автотестами внутри Docker
    • Разбираемся с настройками docker network
    • Разбираемся с тем, как устроены автотесты на примере Selenium-тестов
    • Скачиваем исходники Selenium-тестов на Java
    • Настраиваем запуск тестов в контейнере на примере Java и Maven
    • Связываем контейнер Selenium и контейнер с запущенными тестами
    • Работа с артефактами автотестов из контейнера
    Dockerfile
    • Что такое Dockerfile
    • Основы синтаксиса
    • Пример запуска простой программы на Python
    • Пример создания образа с Selenium-тестами
    Docker compose
    • Что такое Docker compose
    • Пример создания сервиса на примере Python-программы
    • Запуск простого сервиса
    • Запуск нескольких сервисов на примере Maven-образа с Selenium-тестами и образе Selenium Server
    Обзор решений для оркестрации контейнеров (Docker Swarm и Kubernetes)
    • Docker Swarm - для чего нужен и когда используется
    • Kubernetes - для чего нужен и когда используется
    Программа bash (опционально)
    Создание, просмотр и удаление файлов и папок
    • pwd
    • cd
    • ls
    • mkdir
    • touch
    Работа с файлами и папками
    • mv
    • cp
    • rm
    Чтение файлов
    • vi
    • nano
    • cat
    Поиск
    • find
    • grep
    Перенаправление ввода и вывода
    • |
    • >
    • >>
    Процессы
    • ps
    • top
    • kill
    Работа с удаленными ресурсами
    • ping
    • scp
    • curl
    • ssh
    Утилиты
    • sed
    • xargs
    • awk
    Организация работы в консоли
    • alias
    • bashrc
    • source
    • PS[1-2] и другие переменные окружения
    Как проходит тренинг
    1
    Занятия
    Длительность тренинга 4 недели. Каждую неделю ученики получают видеозаписи занятий в нашей онлайн-системе обучения
    2
    Домашние задания
    К каждому занятию выдается домашнее задание. Примерное время выполнения 2-3 часа
    3
    Обратная связь
    Тренер просматривает ответы ученика и дает развернутый комментарий. Вопросы учеников разбираются в групповом чате
    4
    Сертификат
    По окончании обучения всем выполнившим домашние задания выдается сертификат о прохождении курса
    Остались вопросы?
    Записывайтесь на курс и узнайте все об автоматизации тестирования API. Или сначала задайте все интересующие вас вопросы ведущим преподавателям курса.
    Технические требования
    Внимание! Для полного прохождения курса необходимы:

    • Windows 7+ ИЛИ Mac OS Catalina ИЛИ Ubuntu 16.04+
    • Процессор i-серии (i3, i5, i7) или аналогичный от AMD
    • Минимум 8 GB RAM
    • 10 GB на жёстком диске
    • Разрешение экрана минимум 1280 x 800
    Для новичков в IT
    Мы ожидаем, что вы уже обладаете базовой компьютерной грамотностью. На этом курсе мы будем работать с командной строкой, графическим и консольным интерфейсами, переменными окружения, сетями, клиент-серверной архитектурой, скриншотами и видео.

    Если вы не уверены, что знаете все это в должной мере — пройдите простой тест. Если по результатам теста вы получите меньше 20 баллов — мы рекомендуем пройти короткий курс "Азбука IT". На нем вы сможете быстро получить все необходимые знания, которые совершенно точно пригодятся вам в дальнейшем.
    Сертификат участия
    По окончании курса каждый ученик, успешно справившийся с заданиями, получает сертификат. Вот пример сертификата.
    Варианты тренинга
    Выберите подходящий вам набор тренингов. При покупке нескольких курсов в комплекте сроки прохождения суммируются.
    Базовый
    4 недели обучения
    9000 руб.
    Автоматизация тестирования API
    Записаться
    Уверенный
    8 недель обучения
    17000 15990 руб.
    Записаться
    Форма заявки для юридических лиц
    Стоимость тренинга для юрлиц 10,500 рублей
    Ваш E-mail
    Тип тренинга
    Дата запуска
    Количество участников
    Реквизиты
    Комментарии
    Click to order
    Total: 
    Имя
    Фамилия
    Email
    Дата запуска
    Промокод
    Внимание, промокод можно применить только для базового курса. Если покупаете набор курсов, скидка уже заложена в цену.
    Подтверждение
    Payment method