1 · Core
Почему Playwright и что он на самом деле делает
~1,2 ч

Полный курс по Playwright и TypeScript для QA-инженеров: локаторы, ассерты, автоожидания и таймауты, все типовые элементы интерфейса, Page Object Model, фикстуры, конфигурация и проекты, переиспользование авторизации, артефакты и отчёты, визуальное тестирование, API-запросы и моки, параллельность и нестабильные тесты, Docker и CI. Каждая тема даётся как боль, механизм и цена. Материал курса — на английском.
Занятие — на вашем языке: его ведёт ассистент.
Ассистент берёт материал курса с нашего сервера и ведёт занятие на вашем языке.
Экзамен сдаётся на сайте, без ассистента. Вопросы экзамена не переводятся: так решено для всех курсов.
порядок свободный · ступени ниже — тот порядок, который предлагает автор, а не условиеВид: карта · ступени
1 · Core
Почему Playwright и что он на самом деле делает
~1,2 ч
2 · Core
TypeScript, который действительно нужен для кода тестов
~1,7 ч
по замыслу автора — после «Почему Playwright и что он на самом деле делает»
3 · Core
Установка Playwright и структура проекта
~1,2 ч
по замыслу автора — после «Почему Playwright и что он на самом деле делает»
4 · Core
Запуск и отладка: CLI, UI mode, Inspector, codegen, Trace Viewer
~1,8 ч
по замыслу автора — после «Установка Playwright и структура проекта»
5 · Core
Анатомия теста: describe, хуки, шаги, аннотации
~1,2 ч
по замыслу автора — после «Запуск и отладка: CLI, UI mode, Inspector, codegen, Trace Viewer»
6 · Core
Синтаксис локаторов: CSS, текст, XPath и цепочки
~1,2 ч
по замыслу автора — после «Анатомия теста: describe, хуки, шаги, аннотации»
7 · Core
Локаторы, ориентированные на пользователя, и правило строгости
~1,7 ч
по замыслу автора — после «Синтаксис локаторов: CSS, текст, XPath и цепочки»
8 · Core
Фильтрация, связи и списки элементов
~1,2 ч
по замыслу автора — после «Локаторы, ориентированные на пользователя, и правило строгости»
9 · Core
~1,7 ч
по замыслу автора — после «Локаторы, ориентированные на пользователя, и правило строгости»
10 · Core
Автоожидание и иерархия таймаутов
~1,8 ч
по замыслу автора — после «Ассерты и извлечение значений»
11 · UI components
Текстовые поля, клавиатура и мышь
~1,2 ч
по замыслу автора — после любого из: «Фильтрация, связи и списки элементов», «Ассерты и извлечение значений»
12 · UI components
Чекбоксы, радиокнопки, выпадающие списки и подсказки
~1,7 ч
по замыслу автора — после «Текстовые поля, клавиатура и мышь»
13 · UI components
~1,7 ч
по замыслу автора — после «Текстовые поля, клавиатура и мышь»
14 · UI components
Поля выбора даты, слайдеры и iframe
~1,8 ч
по замыслу автора — после «Текстовые поля, клавиатура и мышь»
15 · Architecture
Page Object Model: первые объекты
~1,7 ч
по замыслу автора — после «Автоожидание и иерархия таймаутов»
16 · Architecture
Архитектура страниц: базовые хелперы и менеджер страниц
~1,7 ч
по замыслу автора — после «Page Object Model: первые объекты»
17 · Architecture
Фикстуры: встроенные, пользовательские и уровня воркера
~1,8 ч
по замыслу автора — после «Архитектура страниц: базовые хелперы и менеджер страниц»
18 · Architecture
Конфигурация, проекты, окружения и мобильная эмуляция
~1,7 ч
по замыслу автора — после «Фикстуры: встроенные, пользовательские и уровня воркера»
19 · Architecture
Аутентификация один раз: setup-проекты, storageState и вход через API
~1,7 ч
по замыслу автора — после «Конфигурация, проекты, окружения и мобильная эмуляция»
20 · Evidence
Доказательства: скриншоты, видео, трейсы и репортеры
~1,3 ч
по замыслу автора — после «Автоожидание и иерархия таймаутов»
21 · Evidence
Визуальное регрессионное тестирование
~1,3 ч
по замыслу автора — после «Доказательства: скриншоты, видео, трейсы и репортеры»
22 · API
~1,7 ч
по замыслу автора — после «Автоожидание и иерархия таймаутов»
23 · API
~1,8 ч
по замыслу автора — после «API-запросы в Playwright»
24 · Scale
Параллельность, повторы, теги и нестабильность
~1,8 ч
по замыслу автора — после «Конфигурация, проекты, окружения и мобильная эмуляция»
25 · Scale
Docker и непрерывная интеграция
~1,7 ч
по замыслу автора — после 2 из: «Аутентификация один раз: setup-проекты, storageState и вход через API», «Доказательства: скриншоты, видео, трейсы и репортеры», «Параллельность, повторы, теги и нестабильность»
26 · Review
Пары, которые путают, и готовность к экзамену
~1,7 ч
по замыслу автора — после 3 из: «Поля выбора даты, слайдеры и iframe», «Аутентификация один раз: setup-проекты, storageState и вход через API», «Визуальное регрессионное тестирование», «Перехват и мокирование сети», «Docker и непрерывная интеграция»
27 · Review
Практика поставки: стратегия, ревью и доказательства на проекте
~1,7 ч
по замыслу автора — после «Docker и непрерывная интеграция»
финал · в браузере, без ассистента
Экзамен
закрыт · записаться на курс
| 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 ч |