![[попередній запис] ВЕЛИКИЙ курс з E2E автоматизації Playwright + AI](/uploads/1a3fa77c-d5a4-47d2-be9b-1adc113e570b.png)
[попередній запис] ВЕЛИКИЙ курс з 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/catchasync / 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)
Курс підходить для просунутого вивчення автоматизацію тестування, тож треба бути готовим до челенджу.