Playwright: старт с примерами

Playwright для начинающего автотестера: как установить, написать первые UI-автотесты и запускать их. Понятный старт с примерами кода, локаторами и структурой проекта.

Автор — Дмитрий Тыльный, Senior DevOps · 25 мая 2026 · 10 мин
Playwright: старт с примерами

Коротко. Playwright — современный инструмент UI-автоматизации от Microsoft: быстрый, со встроенными умными ожиданиями и удобными локаторами. Для входа в автоматизацию достаточно освоить один инструмент хорошо — Playwright отличный выбор в 2026. Пишут тесты на TypeScript/JavaScript или Python.

Почему Playwright

  • ✅ Встроенные авто-ожидания — меньше «мигающих» (flaky) тестов.
  • ✅ Работает во всех основных браузерах.
  • ✅ Удобные локаторы по роли и тексту (ближе к тому, как видит пользователь).
  • ✅ Трейсы и скриншоты для отладки из коробки.

Установка и запуск

npm init playwright@latest
npx playwright test          # запустить все тесты
npx playwright test --ui     # интерактивный режим

Первый тест

import { test, expect } from '@playwright/test';

test('заголовок содержит нужный текст', async ({ page }) => {
  await page.goto('https://example.com');
  await expect(page).toHaveTitle(/Example/);
});

test('клик по ссылке открывает страницу', async ({ page }) => {
  await page.goto('https://example.com');
  await page.getByRole('link', { name: 'More' }).click();
  await expect(page.getByRole('heading')).toBeVisible();
});

Локаторы и ожидания

  • Предпочитайте getByRole, getByText, getByLabel — они устойчивее CSS-селекторов.
  • Проверки через expect(...) с авто-ожиданием — не нужны ручные паузы.
  • ❌ Избегайте фиксированных sleep — это источник нестабильных тестов.

Частые вопросы

Playwright или Selenium?
Playwright современнее и стабильнее; Selenium — больше вакансий на рынке. Достаточно освоить один. Выбирайте по целевым вакансиям.

На каком языке писать?
TypeScript/JavaScript или Python. Берите тот, что ближе или чаще в ваших вакансиях.

Что нужно знать до Playwright?
Основы ручного тестирования и базовый синтаксис языка. См. автоматизация для джуна.

Полезно? Подпишитесь на Telegram

Вступить в канал