Playwright для QA-інженерів
Повний курс з Playwright і TypeScript для QA-інженерів: локатори, асерти, автоочікування та таймаути, усі типові елементи інтерфейсу, Page Object Model, фікстури, конфігурація та проєкти, перевикористання авторизації, артефакти та звіти, візуальне тестування, API-запити та моки, паралельність і нестабільні тести, Docker і CI. Кожна тема подається як біль, механізм і ціна. Матеріал курсу — англійською.
Заняття — вашою мовою: його веде асистент.
- Матеріал: англійська
- Іспит: англійська — складається на сайті, без перекладу
Як це влаштовано
Асистент бере матеріал курсу з нашого сервера й веде заняття вашою мовою.
Іспит складається на сайті, без асистента. Питання іспиту не перекладаються: так вирішено для всіх курсів.
Шлях курсом
· юнітів: 27порядок вільний · сходинки нижче — той порядок, який пропонує автор, а не умоваВигляд: карта · щаблі
Щабель 1
~1,2 год
1 · Core
Чому Playwright і що він насправді робить
~1,2 год
Щабель 2
~2,9 год
Core · за задумом автора — після «Чому Playwright і що він насправді робить»
Щабель 3
~1,8 год
4 · Core · за задумом автора — після «Встановлення Playwright і структура проєкту»
Запуск і налагодження: CLI, UI mode, Inspector, codegen, Trace Viewer
~1,8 год
Щабель 4
~1,2 год
5 · Core · за задумом автора — після «Запуск і налагодження: CLI, UI mode, Inspector, codegen, Trace Viewer»
Анатомія тесту: describe, хуки, кроки, анотації
~1,2 год
Щабель 5
~1,2 год
6 · Core · за задумом автора — після «Анатомія тесту: describe, хуки, кроки, анотації»
Синтаксис локаторів: CSS, текст, XPath і ланцюжки
~1,2 год
Щабель 6
~1,7 год
7 · Core · за задумом автора — після «Синтаксис локаторів: CSS, текст, XPath і ланцюжки»
Локатори, орієнтовані на користувача, і правило суворості
~1,7 год
Щабель 7
~2,9 год
Core · за задумом автора — після «Локатори, орієнтовані на користувача, і правило суворості»
8
Фільтрація, зв'язки та списки елементів
~1,2 год
9
~1,7 год
Щабель 8
~3 год
10 · Core · за задумом автора — після «Асерти та вилучення значень»
Автоочікування та ієрархія таймаутів
~1,8 год
11 · UI components · за задумом автора — після будь-якого із: «Фільтрація, зв'язки та списки елементів», «Асерти та вилучення значень»
Текстові поля, клавіатура та миша
~1,2 год
Щабель 9
~9,8 год
12 · UI components · за задумом автора — після «Текстові поля, клавіатура та миша»
Чекбокси, радіокнопки, випадні списки та підказки
~1,7 год
13 · UI components · за задумом автора — після «Текстові поля, клавіатура та миша»
Діалоги, алерти та веб-таблиці
~1,7 год
14 · UI components · за задумом автора — після «Текстові поля, клавіатура та миша»
Поля вибору дати, слайдери та iframe
~1,8 год
15 · Architecture · за задумом автора — після «Автоочікування та ієрархія таймаутів»
Page Object Model: перші об'єкти
~1,7 год
20 · Evidence · за задумом автора — після «Автоочікування та ієрархія таймаутів»
Докази: скриншоти, відео, трейси та репортери
~1,3 год
22 · API · за задумом автора — після «Автоочікування та ієрархія таймаутів»
~1,7 год
Щабель 10
~4,7 год
16 · Architecture · за задумом автора — після «Page Object Model: перші об'єкти»
Архітектура сторінок: базові хелпери та менеджер сторінок
~1,7 год
21 · Evidence · за задумом автора — після «Докази: скриншоти, відео, трейси та репортери»
Візуальне регресійне тестування
~1,3 год
23 · API · за задумом автора — після «API-запити в Playwright»
Перехоплення та мокування мережі
~1,8 год
Щабель 11
~1,8 год
17 · Architecture · за задумом автора — після «Архітектура сторінок: базові хелпери та менеджер сторінок»
Фікстури: вбудовані, користувацькі та рівня воркера
~1,8 год
Щабель 12
~1,7 год
18 · Architecture · за задумом автора — після «Фікстури: вбудовані, користувацькі та рівня воркера»
Конфігурація, проєкти, оточення та мобільна емуляція
~1,7 год
Щабель 13
~3,5 год
за задумом автора — після «Конфігурація, проєкти, оточення та мобільна емуляція»
19 · Architecture
Автентифікація один раз: setup-проєкти, storageState і вхід через API
~1,7 год
24 · Scale
Паралельність, повтори, теги та нестабільність
~1,8 год
Щабель 14
~1,7 год
25 · Scale · за задумом автора — після 2 із: «Автентифікація один раз: setup-проєкти, storageState і вхід через API», «Докази: скриншоти, відео, трейси та репортери», «Паралельність, повтори, теги та нестабільність»
Docker і безперервна інтеграція
~1,7 год
Щабель 15
~3,4 год
Review
26 · за задумом автора — після 3 із: «Поля вибору дати, слайдери та iframe», «Автентифікація один раз: setup-проєкти, storageState і вхід через API», «Візуальне регресійне тестування», «Перехоплення та мокування мережі», «Docker і безперервна інтеграція»
Пари, які плутають, і готовність до іспиту
~1,7 год
27 · за задумом автора — після «Docker і безперервна інтеграція»
Практика постачання: стратегія, рев'ю та докази на проєкті
~1,7 год
Іспит
закрито · записатися на курс
фінал · у браузері, без асистента
Іспит
Шлях курсом словами
- Щабель 1 · Чому Playwright і що він насправді робить — ~1,2 год
- Щабель 2 · TypeScript, який справді потрібен для коду тестів — за задумом автора — після «Чому Playwright і що він насправді робить»; ~1,7 год
- Щабель 2 · Встановлення Playwright і структура проєкту — за задумом автора — після «Чому Playwright і що він насправді робить»; ~1,2 год
- Щабель 3 · Запуск і налагодження: CLI, UI mode, Inspector, codegen, Trace Viewer — за задумом автора — після «Встановлення Playwright і структура проєкту»; ~1,8 год
- Щабель 4 · Анатомія тесту: describe, хуки, кроки, анотації — за задумом автора — після «Запуск і налагодження: CLI, UI mode, Inspector, codegen, Trace Viewer»; ~1,2 год
- Щабель 5 · Синтаксис локаторів: CSS, текст, XPath і ланцюжки — за задумом автора — після «Анатомія тесту: describe, хуки, кроки, анотації»; ~1,2 год
- Щабель 6 · Локатори, орієнтовані на користувача, і правило суворості — за задумом автора — після «Синтаксис локаторів: CSS, текст, XPath і ланцюжки»; ~1,7 год
- Щабель 7 · Фільтрація, зв'язки та списки елементів — за задумом автора — після «Локатори, орієнтовані на користувача, і правило суворості»; ~1,2 год
- Щабель 7 · Асерти та вилучення значень — за задумом автора — після «Локатори, орієнтовані на користувача, і правило суворості»; ~1,7 год
- Щабель 8 · Автоочікування та ієрархія таймаутів — за задумом автора — після «Асерти та вилучення значень»; ~1,8 год
- Щабель 8 · Текстові поля, клавіатура та миша — за задумом автора — після будь-якого із: «Фільтрація, зв'язки та списки елементів», «Асерти та вилучення значень»; ~1,2 год
- Щабель 9 · Чекбокси, радіокнопки, випадні списки та підказки — за задумом автора — після «Текстові поля, клавіатура та миша»; ~1,7 год
- Щабель 9 · Діалоги, алерти та веб-таблиці — за задумом автора — після «Текстові поля, клавіатура та миша»; ~1,7 год
- Щабель 9 · Поля вибору дати, слайдери та iframe — за задумом автора — після «Текстові поля, клавіатура та миша»; ~1,8 год
- Щабель 9 · Page Object Model: перші об'єкти — за задумом автора — після «Автоочікування та ієрархія таймаутів»; ~1,7 год
- Щабель 9 · Докази: скриншоти, відео, трейси та репортери — за задумом автора — після «Автоочікування та ієрархія таймаутів»; ~1,3 год
- Щабель 9 · API-запити в Playwright — за задумом автора — після «Автоочікування та ієрархія таймаутів»; ~1,7 год
- Щабель 10 · Архітектура сторінок: базові хелпери та менеджер сторінок — за задумом автора — після «Page Object Model: перші об'єкти»; ~1,7 год
- Щабель 10 · Візуальне регресійне тестування — за задумом автора — після «Докази: скриншоти, відео, трейси та репортери»; ~1,3 год
- Щабель 10 · Перехоплення та мокування мережі — за задумом автора — після «API-запити в Playwright»; ~1,8 год
- Щабель 11 · Фікстури: вбудовані, користувацькі та рівня воркера — за задумом автора — після «Архітектура сторінок: базові хелпери та менеджер сторінок»; ~1,8 год
- Щабель 12 · Конфігурація, проєкти, оточення та мобільна емуляція — за задумом автора — після «Фікстури: вбудовані, користувацькі та рівня воркера»; ~1,7 год
- Щабель 13 · Автентифікація один раз: setup-проєкти, storageState і вхід через API — за задумом автора — після «Конфігурація, проєкти, оточення та мобільна емуляція»; ~1,7 год
- Щабель 13 · Паралельність, повтори, теги та нестабільність — за задумом автора — після «Конфігурація, проєкти, оточення та мобільна емуляція»; ~1,8 год
- Щабель 14 · Docker і безперервна інтеграція — за задумом автора — після 2 із: «Автентифікація один раз: setup-проєкти, storageState і вхід через API», «Докази: скриншоти, відео, трейси та репортери», «Паралельність, повтори, теги та нестабільність»; ~1,7 год
- Щабель 15 · Пари, які плутають, і готовність до іспиту — за задумом автора — після 3 із: «Поля вибору дати, слайдери та iframe», «Автентифікація один раз: setup-проєкти, storageState і вхід через API», «Візуальне регресійне тестування», «Перехоплення та мокування мережі», «Docker і безперервна інтеграція»; ~1,7 год
- Щабель 15 · Практика постачання: стратегія, рев'ю та докази на проєкті — за задумом автора — після «Docker і безперервна інтеграція»; необовʼязковий; ~1,7 год
Програма · 27 юнітів
| 1 | Чому Playwright і що він насправді робить Пояснити дві причини збоїв попередньої UI-автоматизації — нестабільність через таймінг і накладні витрати на драйвери — і як архітектура Playwright усуває кожну | ~1,2 год |
| 2 | TypeScript, який справді потрібен для коду тестів Читати й писати конструкції JavaScript, які трапляються в кожному тесті Playwright: const/let, стрілкові функції, шаблонні рядки, деструктуризацію, об'єкти та масиви | ~1,7 год |
| 3 | Встановлення Playwright і структура проєкту Встановити Playwright у новий репозиторій і в наявний фронтенд-репозиторій, не зламавши жодного з них | ~1,2 год |
| 4 | Запуск і налагодження: CLI, UI mode, Inspector, codegen, Trace Viewer Запускати з командного рядка весь набір, теку, файл, окремий тест, проєкт, останні тести, що впали, і лише тести, яких торкнулася зміна | ~1,8 год |
| 5 | Анатомія тесту: describe, хуки, кроки, анотації Структурувати spec-файл блоками describe і чотирма хуками та сказати, коли кожен хук виконується відносно воркерів | ~1,2 год |
| 6 | Синтаксис локаторів: CSS, текст, XPath і ланцюжки Читати словник DOM, від якого залежить локатор: тег, атрибут, клас, id, текстовий вузол, батьківський і дочірній елемент | ~1,2 год |
| 7 | Локатори, орієнтовані на користувача, і правило суворості Застосовувати порядок пріоритету локаторів: роль, мітка, плейсхолдер, текст, alt, title, test id, CSS або XPath — в останню чергу | ~1,7 год |
| 8 | Фільтрація, зв'язки та списки елементів Використовувати filter() з hasText, hasNotText, has, hasNot і visible, щоб звузити набір за вмістом, за нащадком або за видимістю | ~1,2 год |
