[попередній запис] ВЕЛИКИЙ курс з E2E автоматизації  Playwright + AI
chapters:1language:UA
JavaScriptTypeScriptQAAI

[попередній запис] ВЕЛИКИЙ курс з E2E автоматизації Playwright + AI

Повний цикл E2E автоматизації — від А до Я

Беремо реальні веб-застосунки, пишемо стабільні E2E-тести, розбираємо кожне домашнє завдання і доводимо проєкт до запуску в CI/CD.

Формат: лекція → розбір домашніх завдань. Наскрізна лінія — власний тестовий фреймворк, який росте разом із вами.

Довжина курсу: 32 лекції (70 годин матеріалу) + домашні завдання для самостійного виконання + випускний проєкт. Це орієнтовно 100 годин роботи над вдосконаленням навичок автоматизації тестування.


Модуль 1 — Основи автоматизації

Старт

  • Огляд програми та фінального результату: який фреймворк ви збудуєте
  • Налаштування середовища: Node.js, VS Code, браузери, розширення
  • Що таке E2E-тестування і де його місце серед інших видів тестів
  • Як ефективно вчитися: робота з ДЗ, де шукати відповіді, як читати документацію

Перші кроки в Playwright

  • Встановлення Node.js та npm, ініціалізація проєкту, package.json
  • Встановлення Playwright, запуск першого тесту, режими headed / headless
  • codegen для автозапису сценаріїв; UI Mode і Trace Viewer
  • Структура тестів: test, expect, test.describe, хуки beforeEach / afterEach
  • Конфігурація playwright.config: браузери, baseURL, таймаути, звіти

Пошук елементів на сторінці

  • Рекомендовані локатори: getByRole, getByText, getByLabel, getByTestId
  • CSS-селектори: класи, id, атрибути, вкладеність, фільтрація й ланцюжки
  • Auto-waiting: чому Playwright «сам чекає» і як це прибирає flaky-тести
  • DOM tree та XPath: осі, предикати, коли обирати CSS, а коли XPath
  • Інспектування елементів через DevTools

Модуль 2 — Основи JavaScript

Фундамент мови, без якого автоматизація перетворюється на копіпаст. Усе — на прикладах із тестів.

Синтаксис і логіка

  • Змінні (let, const, var), області видимості, типи даних, приведення типів
  • Розгалуження: if/else, switch, тернарний оператор, truthy/falsy
  • Обробка помилок: try / catch / finally, throw
  • Цикли for, while, for...of
  • Функції: параметри, return, arrow-функції, замикання, винесення коду в хелпери

Структури даних

  • Масиви та їх методи: map, filter, forEach, find, reduce
  • Об'єкти: властивості, методи, деструктуризація, spread
  • Робота з JSON: parse / stringify
  • Параметризація тестів: data-driven підхід, масиви об'єктів як джерело даних

Асинхронність

  • Event loop
  • Promise: стани, then / catch
  • async / await та обробка помилок в асинхронному коді
  • Чому в Playwright await стоїть майже скрізь

Інструменти розробника

  • Git і GitHub: коміти, гілки, робота з віддаленим репозиторієм
  • Як здавати домашні завдання через GitHub

Модуль 3 — Просунуті теми

Тут окремі тести перетворюються на фреймворк.

Патерни та архітектура

Патерн / тема Застосування
ООП, класи Базис для архітектури тестів
Page Object Model Організація сторінок і компонентів
Fixtures Перевикористання стану та налаштувань
  • ООП: класи, конструктори, наслідування, інкапсуляція
  • Page Object Model: локатори й дії сторінки в одному класі, базовий клас, перевикористання
  • Fixtures: вбудовані (page, context, request) та власні; scope й override; підготовка авторизованого користувача

Стан та контекст

  • Cookies та localStorage у браузері
  • storageState: збереження сесії у файл, логін один раз для всіх тестів
  • Ізоляція тестів через окремі контексти

Мережа та API

  • Перехоплення запитів: route, fulfill, abort, мокінг відповідей бекенду
  • APIRequestContext: прямі API-запити з тесту
  • Перевірка статусів, заголовків і тіла відповіді; зв'язка UI + API

CI/CD та AI

  • GitHub Actions: структура workflow, тригери, матриця браузерів, паралельний запуск
  • Артефакти, публікація звітів, робота із секретами
  • AI в автоматизації: генерація та підтримка тестів, допомога з локаторами, self-healing, межі застосування

Випускний проєкт

Власний фреймворк на Playwright + TypeScript із патернами, стабільними тестами та запуском у CI/CD;

Вимоги

QA інженери, які хочуть навчитись ефективно автоматизовувати API тести (рівень Middle, Senior)

Курс підходить для просунутого вивчення автоматизацію тестування, тож треба бути готовим до челенджу.