aqa-proka4.com

Как пользоваться

Интерактивный тренажёр Playwright API. Каждая миссия — небольшое упражнение в виртуальном браузере.

1
Слева — задание и редактор Python. page и expect уже доступны, пиши код после комментария.
2
Справа — виртуальный браузер с целевой страницей. Реагирует на твой код в реалтайме.
3
Run запускает код, Check проверяет решение. После точки (page.) — Ctrl+Space для автодополнения.
Начни с миссии «Первый клик» — она занимает 30 секунд.

Миссии

Интерактивные упражнения по Playwright API. Каждая миссия — 1-5 минут практики с живым превью.

Прогресс
0 / 51
Visitors
1 357
всего уникальных
Сохранение
В сессии
Locators Mastery
1
Первый клик
Знакомство с Playwright API. Найди кнопку и нажми её — за 30 секунд.
Intro
~1 мин 58
2
Найди по тексту
Главная страница магазина. В навигации четыре ссылки — кликни именно «Каталог».
Easy
~2 мин 52
3
Поля по label
Заполни два поля используя get_by_label — самый правильный способ для форм.
Easy
~2 мин 52
4
Поиск через placeholder
У поля поиска нет label, но есть placeholder — самый практичный способ зацепиться.
Easy
~2 мин 43
5
data-testid — золотой стандарт
У кнопок одинаковый текст, но у каждой свой data-testid. Кликни именно «logout-btn».
Easy
~2 мин 40
6
Найди товар со скидкой
Каталог из трёх товаров, у одного бейдж SALE. Добавь его в корзину.
Medium
~3 мин 33
7
Filter по вложенному элементу
3 заказа. Только у одного есть значок «Доставлен». Открой именно его — через `filter(has=...)`.
Medium
~4 мин 25
8
Позиционные локаторы
10 уведомлений в списке. Кликни на «прочитать» у первого, последнего и третьего.
Medium
~4 мин 22
9
Цепочка локаторов
Несколько одинаковых секций, в каждой по 3 кнопки. Найди именно «Купить» во второй секции.
Medium
~4 мин 20
10
Shadow DOM — кнопка внутри custom element
На странице кастомный `<live-chat>` веб-компонент с собственным Shadow DOM. Открой чат.
Hard
~5 мин 17
11
Динамические id (uid-7234)
У каждого элемента id вида `uid-XXXX` (генерится фронтом при каждом запуске). Найди элемент без id.
Hard
~5 мин 17
12
Таблица с одинаковыми строками
В таблице 6 заказов от разных пользователей. Отмени заказ Михаила — но не Маши, не других.
Hard
~5 мин 16
Actions
1
Двойной клик и правый клик
Открой папку двойным кликом, потом вызови контекстное меню правым кликом по файлу.
Easy
~4 мин 15
2
Заполни форму входа
Стандартный flow логина: email, пароль, «Запомнить меня», submit, проверь приветствие.
Easy
~4 мин 11
3
type() — печать без очистки
В поле уже есть «BLACK». Допиши «-FRIDAY» в конец — не стирая текущий текст.
Easy
~3 мин 10
4
Клавиатура: Tab, Enter, Escape
Заполни email, нажми Tab чтобы перейти к паролю, заполни и нажми Enter для отправки.
Easy
~3 мин 8
5
Dropdown — select_option
Выбери страну «Россия» и город «Москва» в двух связанных dropdown'ах.
Medium
~3 мин 9
6
Drag-and-Drop карточки
Kanban-доска с 3 колонками. Перетащи задачу «Сделать тесты» из «To Do» в «Done».
Medium
~4 мин 5
7
Кастомный date picker
Открой календарь, выбери 15 число — через цепочку кликов как реальный юзер.
Hard
~5 мин 7
8
Hover → tooltip → click
Подсказка появляется только при hover. Открой её и кликни кнопку «Узнать больше».
Hard
~4 мин 8
Auto-waiting
1
Подожди появления
Элемент появляется через 1.5 секунды после клика. Дождись его правильно — без `time.sleep`.
Medium
~4 мин 6
2
Custom timeout в expect
Notification приходит через 3 секунды. Дефолтный timeout не успевает — задай свой.
Easy
~3 мин 6
3
wait_for_selector — старая школа
Список товаров загружается с задержкой. Дождись через wait_for_selector до клика.
Easy
~3 мин 6
4
Дождись редиректа на новый URL
Нажми «Оплатить» — после успеха URL меняется на `/payment/success`. Дождись редиректа.
Medium
~4 мин 3
5
Дождись API-ответа
Submit-кнопка отправляет POST /api/checkout. Дождись ответа перед проверкой результата.
Medium
~4 мин 2
6
click() сам ждёт actionability
Кнопка disabled первые 2 секунды. Просто click() — Playwright дождётся сам.
Medium
~3 мин 4
7
Почини флейкающий тест
В starter_code три wait_for_timeout. Удали все три и переделай тест на expect — он должен быть стабильным.
Hard
~5 мин 5
8
wait_for_load_state(networkidle)
Дашборд параллельно стучится в 4 endpoint'а. Дождись когда вся сеть успокоится перед скриншотом.
Hard
~5 мин 4
Strict Mode
Assertions
Network Interception
Multi-step flows

🐛 Сообщить о баге

Опиши что пошло не так — мы получим уведомление в Telegram и быстро поправим.

✓ Спасибо! Сообщение отправлено, мы посмотрим в течение дня.