Введение в автоматизацию тестирования
3 месяца, 12 спринтов, 1 спринт = 1 неделя
Введение в автоматизацию тестирования:
- Зачем нужна автоматизация
- Виды тестирования и автоматизации
- Тестовые фреймворки: структура и компоненты
Настройка окружения и Git:
- Основные команды Git, графические клиенты
- Настройка Node.js, WebStorm, ESLint, Prettier
- Git hooks и workflow
JavaScript: переменные и функции
- Что такое JavaScript?
- Объявление переменных (let, cons)
- Основные операторы
- Типы данных в JS
Функции и стрелочные функции:
- Условное ветвление (if, else)
- Продолжаем изучать операторы
- Функции
- Область видимости
- Стрелочные функции
JavaScript: объекты, массивы, циклы
- Что такое объекты
- Работаем со свойствами объектов
- Как создавать функции в объектах. И немного про this
Массивы и циклы в JavaScript:
- Работаем со методами массивов
- for, while, do-while циклы
- forEach, for...of, for...in
- Деструктуризация объектов и массивов
JavaScript: классы и асинхронность
- Синтаксис классов
- Наследование, инкапсуляция
Асинхронное программирование:
- Синхронный и асинхронный код
- Промисы
- async/await
- try/catch с async/await
- Unit тестирование. Jest и его настройка
- Основы синтаксиса
- Первые unit тесты
- Моки и шпионы (spies)
- Тестирование асинхронного кода
- Snapshot тестирование
TypeScript для автоматизации
- Что такое TypeScript и настройка окружения
- Синтаксис TypeScript
- Основные типы
Прикладные типы и классы в TypeScript:
- Основные операции с типами
- Классы с типами в TypeScript
- Interface vs Type
Локаторы и Playwright: первые шаги
Установка Playwright и базовые тесты:
- Что такое Playwright и его архитектура?
- Установка и настройка Playwright
- Конфигурация проекта
- Первый тест. Синтаксис
- CSS и XPath локаторы
- Критерии выбора локаторов
- Best practices для стабильных локаторов
Playwright: POM и устойчивые тесты (ожидания, ретраи)
- Принципы POM
- Создание Page Objects
- Рефакторинг тестов с POM
Ожидания и обработка ошибок:
- Explicit и implicit ожидания
- Обработка динамических элементов
- Retry механизмы
Playwright: хуки, фикстуры и моки
- beforeEach, afterEach, beforeAll, afterAll
- Подготовка тестовых данных
- Очистка после тестов
Моки и перехват запросов:
- Мокирование API запросов
- Network interception
- Тестирование с мок данными
Playwright: параметризация и визуальные артефакты (скриншоты, видео, trace)
Параметризация и тест-дизайн:
- Параметризованные тесты
- Data-driven тестирование
- Применение циклов в тестировании UI
- Техники тест-дизайна в UI
- Visual тестирование
- Скриншоты и видеозапись
- Настройка отчетов
Тестирование API (Playwright request)
Библиотеки для тестирования API:
- axios, supertest, node-fetch
- Написание API тестов с Jest
Тестирование API с помощью PW:
- встраиваем тестирование API в UI тесты
- используем бест практис
GitLab CI/CD: пайплайны, отчёты, запуск автотестов
- Workflow файлы
- Триггеры запуска (push, PR, schedule)
- Базовая настройка пайплайна
- Parallel execution тестов
- Артефакты и отчеты
- Запуск автотестов из TMS TestIt