testing · 12 мин чтения

Playwright vs Cypress vs Selenium в 2026: какой фреймворк для E2E-тестирования выбрать

Playwright Cypress Selenium E2E тестирование автоматизация QA
Содержание

E2E-тестирование в 2026 году — это уже не один Selenium на все случаи жизни. За последние три года Playwright совершил стремительный рывок и стал инструментом по умолчанию для новых проектов, Cypress удерживает позиции в экосистеме фронтенд-разработки, а Selenium продолжает доминировать в enterprise-сегменте с 26.1% рынка инструментов тестирования и более 55 000 компаний-пользователей.

Эта статья — детальное сравнение Playwright 1.57+, Cypress 13 и Selenium 4.33 для QA-инженеров, тестировщиков и тимлидов, которые выбирают фреймворк для автоматизации E2E-тестов. Мы разберём архитектуру, производительность, поддержку браузеров, языки программирования, экосистему и стоимость.

Краткий обзор участников

Playwright — молниеносный и современный

Playwright создан Microsoft и выпущен в 2020 году. К 2026 году он стал самым быстрорастущим фреймворком для E2E-тестирования. На GitHub microsoft/playwright набрал 74 000+ звёзд, а инструмент используется в более чем 412 000 репозиториев. Текущая версия — Playwright 1.57+.

Playwright поддерживает четыре языка: JavaScript/TypeScript, Python, C# и Java. Он работает с тремя движками браузеров: Chromium, Firefox и WebKit (движок Safari). Начиная с v1.57, Playwright переключился с Chromium на Chrome for Testing — реальные билды Chrome, что ещё больше приближает тесты к тому, что видит пользователь.

Ключевые инновации 2026 года:

  • Playwright Agents — три AI-агента для автоматизации: planner (исследует приложение и создаёт план тестов), generator (превращает план в тестовые файлы), healer (запускает и чинит падающие тесты)
  • Playwright MCP Server — интеграция с AI-ассистентами через Model Context Protocol
  • Auto-wait — интеллектуальное ожидание, проверяющее что элемент прикреплён к DOM, видим, стабилен, принимает события и активен

Cypress — DX для фронтенд-разработчиков

Cypress появился в 2014 году как альтернатива Selenium с акцентом на developer experience. На GitHub cypress-io/cypress набрал около 48 000 звёзд. Cypress поддерживает только JavaScript и TypeScript.

Cypress работает внутри браузера — его тестовый раннер запускается в том же event loop, что и тестируемое приложение. Это обеспечивает уникальный DX: мгновенная обратная связь, time-travel debugging (шаг назад по каждой команде), автоматические скриншоты и видео.

Поддержка браузеров: Chrome (Chromium), Firefox и экспериментальная поддержка WebKit. Мобильного тестирования нет.

Cypress Cloud — коммерческий сервис: от $75/мес (Team) до $300/мес (Business), предоставляющий параллелизацию тестов, flake detection, Smart Orchestration и UI Coverage. Базовый фреймворк бесплатен и open-source.

В 2026 году Cypress добавил поддержку Angular 21 в component testing, zoneless-режим для Angular-компонентов и улучшенный Selector Playground с автоматическим интерактивным режимом.

Selenium — ветеран enterprise-тестирования

Selenium появился в 2004 году и отмечает 22 года существования. На GitHub SeleniumHQ/selenium — 29 000 звёзд, 7 900 форков. Текущая версия — Selenium 4.33.0. Selenium удерживает 26.1% рынка инструментов тестирования и используется 55 785+ компаниями по всему миру.

Selenium поддерживает максимальное количество языков: Java, Python, C#, Ruby и JavaScript. Покрытие браузеров — самое широкое: Chrome, Firefox, Safari, Edge и Internet Explorer (через legacy-драйверы), включая мобильные платформы через Appium.

Главное техническое обновление — WebDriver BiDi (bidirectional protocol): двунаправленная связь с браузером, позволяющая перехватывать сетевые запросы, слушать консольные логи, отслеживать изменения DOM и эмулировать сетевые условия без внешних инструментов. WebDriver BiDi — это ответ Selenium на те возможности, которые Playwright предоставлял с первого дня через CDP.

Архитектура: три разных подхода

Архитектурные различия определяют поведение, скорость и ограничения каждого фреймворка.

Playwright: WebSocket + многопроцессность

Playwright общается с браузерами через WebSocket-соединения (CDP для Chromium, собственные протоколы для Firefox и WebKit). Каждый тест запускается в изолированном Browser Context — лёгкой сессии браузера с отдельными cookies, localStorage и сетевым стеком. Это позволяет запускать десятки параллельных тестов без конфликтов.

// Playwright — изолированные контексты для параллельных тестов
import { test } from '@playwright/test';

test('user login', async ({ page }) => {
  await page.goto('https://app.example.com/login');
  await page.fill('[data-testid="email"]', 'user@example.com');
  await page.fill('[data-testid="password"]', 'password');
  await page.click('button[type="submit"]');
  await page.waitForURL('**/dashboard');
  await expect(page.locator('h1')).toHaveText('Dashboard');
});

Cypress: in-browser execution

Cypress запускает тесты внутри браузера, в том же JavaScript-контексте, что и приложение. Это даёт прямой доступ к DOM, сетевым запросам и состоянию приложения без промежуточного слоя.

// Cypress — тест в том же контексте, что и приложение
describe('Login', () => {
  it('should log in successfully', () => {
    cy.visit('/login');
    cy.get('[data-testid="email"]').type('user@example.com');
    cy.get('[data-testid="password"]').type('password');
    cy.get('button[type="submit"]').click();
    cy.url().should('include', '/dashboard');
    cy.get('h1').should('have.text', 'Dashboard');
  });
});

Преимущество: мгновенная обратная связь, автоматическое ожидание команд, time-travel debugging. Недостаток: тесты ограничены одним табом, нет поддержки нескольких вкладок, окон или iframe между доменами.

Selenium: WebDriver протокол

Selenium использует WebDriver — стандартизованный W3C-протокол для управления браузерами. Каждая команда — это HTTP-запрос к драйверу браузера (ChromeDriver, GeckoDriver и т.д.). С появлением WebDriver BiDi добавлена двунаправленная связь для event-driven операций.

# Selenium — Python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get("https://app.example.com/login")

email = driver.find_element(By.CSS_SELECTOR, '[data-testid="email"]')
email.send_keys("user@example.com")

password = driver.find_element(By.CSS_SELECTOR, '[data-testid="password"]')
password.send_keys("password")

driver.find_element(By.CSS_SELECTOR, 'button[type="submit"]').click()

WebDriverWait(driver, 10).until(
    EC.url_contains("/dashboard")
)
assert driver.find_element(By.TAG_NAME, "h1").text == "Dashboard"
driver.quit()

Архитектурное преимущество: полная гибкость — любой язык, любой браузер, любая ОС. Недостаток: больше шаблонного кода, явные ожидания, больше конфигурации.

Производительность: бенчмарки 2026 года

Скорость выполнения тестов напрямую влияет на CI/CD-пайплайны и feedback loop разработчика.

МетрикаPlaywrightCypressSelenium
Среднее время одной задачи290 мс~700 мс536 мс
Средний тестовый сценарий (5 шагов)4.5 сек9.4 сек4.6 сек
Параллельное выполнениеВстроенное (workers)Cypress Cloud (платно)Selenium Grid
Снижение flaky-тестов60% меньше (auto-wait)Flake detection (Cloud)Зависит от ожиданий
CI/CD setup overheadМинимальный (60% меньше vs Selenium Grid)МинимальныйЗначительный (Grid)

Playwright лидирует благодаря WebSocket-архитектуре и auto-wait: не нужно писать явные ожидания, фреймворк сам проверяет готовность элементов. Это снижает количество flaky-тестов на 60% по бенчмаркам 2026 года.

Cypress медленнее в абсолютных цифрах (в 2× по сравнению с Playwright в одном и том же сценарии), но его in-browser архитектура обеспечивает стабильность — тесты редко падают из-за timing issues.

Selenium показывает результаты, сопоставимые с Playwright для отдельных операций, но настройка параллелизации через Selenium Grid значительно сложнее и требует больше инфраструктуры.

Поддержка языков и браузеров

КритерийPlaywrightCypressSelenium
ЯзыкиJS/TS, Python, C#, JavaJS/TS толькоJava, Python, C#, Ruby, JS
Chrome/ChromiumДа (Chrome for Testing)ДаДа
FirefoxДаДаДа
WebKit/SafariДа (нативный)ЭкспериментальноДа (через SafariDriver)
EdgeДа (Chromium)Да (Chromium)Да
Internet ExplorerНетНетДа (legacy)
МобильныеЭмуляция (device, touch, geo)НетAppium (реальные устройства)
Несколько вкладок/оконДаНетДа
iframes кросс-доменДаОграниченоДа

Selenium выигрывает по ширине покрытия: если нужен IE, реальные мобильные устройства через Appium или экзотические браузеры — альтернатив нет.

Playwright предоставляет лучший баланс: три главных движка (Chromium, Firefox, WebKit), мобильная эмуляция и полная поддержка сложных сценариев (multi-tab, iframes).

Cypress ограничен: только JS/TS, отсутствие multi-tab и ограниченная поддержка WebKit делают его непригодным для кросс-браузерного тестирования.

Экосистема и интеграции

Playwright

  • Playwright Test — полноценный тестовый раннер с параллелизацией, retries, fixtures, HTML-отчётами
  • Codegen — генерация тестов записью действий в браузере
  • Trace Viewer — детальный анализ каждого шага с DOM-снимками, сетевыми запросами и консольными логами
  • VS Code расширение — запуск, отладка и запись тестов прямо из IDE
  • Playwright MCP — интеграция с AI-агентами через Model Context Protocol
  • Playwright Agents — AI-автоматизация создания и починки тестов
  • CI/CD: встроенные Docker-образы, GitHub Actions template, Azure Pipelines
# Playwright — генерация теста записью
npx playwright codegen https://app.example.com

# Запуск с HTML-отчётом
npx playwright test --reporter=html

# Просмотр трейса
npx playwright show-trace trace.zip

Cypress

  • Cypress App — интерактивный раннер с time-travel debugging, скриншотами, видео
  • Component Testing — тестирование React, Vue, Angular, Svelte компонентов в изоляции
  • Cypress Cloud (платный): параллелизация, Smart Orchestration, Flake Detection, UI Coverage, Spec Prioritization
  • Cypress Studio — запись тестов через UI (бета)
  • Плагины: 300+ community-плагинов
  • CI/CD: готовые Docker-образы, интеграции с GitHub Actions, CircleCI, Jenkins
# Cypress — запуск в интерактивном режиме
npx cypress open

# Запуск в headless
npx cypress run --browser chrome --record --key YOUR_KEY

# Component testing
npx cypress open --component

Selenium

  • Selenium Grid — распределённое выполнение на нескольких машинах
  • Selenium IDE — расширение для записи и воспроизведения тестов в браузере
  • WebDriver BiDi — двунаправленная связь для перехвата сети, логов и событий
  • Appium — мобильное тестирование на реальных устройствах
  • Облачные платформы: BrowserStack, Sauce Labs, LambdaTest — тысячи комбинаций устройств
  • CI/CD: интеграция с любой платформой через WebDriver
# Selenium Grid — запуск хаба
java -jar selenium-server-4.33.0.jar hub

# Запуск ноды
java -jar selenium-server-4.33.0.jar node --detect-drivers true

# Или через Docker Compose
docker compose -f docker-compose-v3.yml up -d

Стоимость

АспектPlaywrightCypressSelenium
ФреймворкБесплатно (Apache 2.0)Бесплатно (MIT)Бесплатно (Apache 2.0)
ПараллелизацияВстроенная (бесплатно)Cypress Cloud (от $75/мес)Selenium Grid (self-hosted)
Облачный сервисНет (сторонние: BrowserStack)Cypress Cloud ($75–$300+/мес)BrowserStack, Sauce Labs (от $29/мес)
Dashboard и аналитикаHTML-отчёт (бесплатно)Cypress Cloud (платно)Сторонние инструменты
Flake detectionRetries + трейсы (бесплатно)Cypress Cloud (платно)Внешние инструменты
Component testingExperimentalВстроенноеНет

Playwright — самый экономичный: параллелизация, отчёты, трейсы и отладка включены в бесплатный open-source фреймворк. Нет необходимости в платной облачной платформе для большинства задач.

Cypress — ловушка бесплатного tier-а: базовый фреймворк бесплатен, но для реального CI/CD с параллелизацией и аналитикой требуется Cypress Cloud от $75/мес. Для команд из 40+ человек Business-план стоит $300+/мес.

Selenium — бесплатен как фреймворк, но Selenium Grid требует инфраструктуры (серверы, Docker, обслуживание). Облачные платформы (BrowserStack, Sauce Labs) решают проблему, но за деньги.

Когда выбрать Playwright

Playwright — лучший выбор для большинства новых проектов в 2026 году:

  • Новые проекты — Playwright стал стандартом для greenfield E2E-автоматизации; AI-агенты и MCP-интеграция ещё больше упрощают создание тестов
  • Кросс-браузерное тестирование — три движка (Chromium, Firefox, WebKit) покрывают 95%+ пользователей
  • Мультиязычные команды — поддержка Python, C#, Java кроме JS/TS
  • Быстрый CI/CD — встроенная параллелизация и минимальный overhead для настройки
  • Сложные сценарии — multi-tab, iframes, сетевой перехват, мобильная эмуляция
  • Бюджет — всё включено бесплатно, нет скрытых платных функций

Когда выбрать Cypress

Cypress остаётся хорошим выбором в определённых сценариях:

  • Фронтенд-ориентированные команды — если команда состоит из React/Vue/Angular-разработчиков, которые пишут тесты как часть разработки
  • Component testing — тестирование компонентов в изоляции — зрелая функция Cypress
  • Time-travel debugging — уникальная возможность шагать по каждой команде теста с визуализацией состояния
  • Приоритет DX над покрытием — если важнее удобство написания тестов, чем кросс-браузерность
  • Существующие Cypress-проекты — миграция на Playwright оправдана, но не обязательна для стабильных тестовых наборов

Когда выбрать Selenium

Selenium незаменим в следующих сценариях:

  • Enterprise с legacy-требованиями — поддержка IE, специфических корпоративных браузеров, сложных compliance-требований
  • Мобильное тестирование на реальных устройствах — Appium + Selenium — единственный путь для тестирования на реальных iPhone, Android-устройствах через облачные фермы
  • Максимальная языковая гибкость — Ruby, Java-команды, которые не хотят переходить на JS/TS
  • Существующая Selenium-инфраструктура — тысячи тестов, настроенный Grid, обученная команда — миграция может быть неоправданной
  • Регулируемые отрасли — 22 года истории, W3C-стандарт, максимальная аудируемость

Сводная таблица сравнения

КритерийPlaywright 1.57+Cypress 13Selenium 4.33
Первый релиз202020142004
РазработчикMicrosoftCypress.ioCommunity (SeleniumHQ)
ЛицензияApache 2.0MITApache 2.0
ЯзыкиJS/TS, Python, C#, JavaJS/TSJava, Python, C#, Ruby, JS
БраузерыChromium, Firefox, WebKitChrome, Firefox, WebKit (exp.)Chrome, Firefox, Safari, Edge, IE
Скорость (avg задача)290 мс~700 мс536 мс
ПараллелизацияВстроенная (бесплатно)Cypress Cloud (платно)Selenium Grid
Auto-waitНативныйНативныйНет (явные ожидания)
Multi-tab / windowsДаНетДа
Мобильное тестированиеЭмуляцияНетAppium (реальные устройства)
Component testingExperimentalВстроенноеНет
AI-интеграцияPlaywright Agents, MCPНетНет
Сетевой перехватНативныйНативныйWebDriver BiDi
ОтчётыHTML (бесплатно)Cypress Cloud (платно)Сторонние
GitHub Stars74 000+~48 00029 000
Рыночная доляБыстро растётСтабильна26.1%

Заключение

В 2026 году расстановка сил в E2E-тестировании определилась чётко.

Playwright — это новый стандарт. 74 000+ звёзд на GitHub, самая высокая скорость выполнения, бесплатная параллелизация, поддержка четырёх языков, трёх движков браузеров и AI-интеграция — всё это делает Playwright очевидным выбором для новых проектов. Microsoft активно инвестирует в развитие: Playwright Agents и MCP Server сигнализируют, что будущее E2E-тестирования — это AI-ассистированная автоматизация, и Playwright лидирует в этом направлении.

Cypress сохраняет нишу в фронтенд-разработке. Time-travel debugging, component testing и интуитивный DX делают его привлекательным для React/Vue/Angular-команд. Но ограничение одним языком (JS/TS), отсутствие multi-tab и платная параллелизация сужают его применимость. Cypress — хороший инструмент, но уже не лучший в своём классе.

Selenium остаётся незаменимым для enterprise. 26% рынка, 22 года истории, поддержка пяти языков и всех браузеров (включая IE и мобильные через Appium) — этого не может предложить ни один конкурент. WebDriver BiDi сокращает технологический разрыв с Playwright. Для новых проектов Selenium уже не рекомендация по умолчанию, но для миграции существующих enterprise-систем альтернативы может не быть.

Прагматичная рекомендация: Playwright для новых проектов (быстро, бесплатно, современно), Cypress для фронтенд-компонентов (DX, component testing), Selenium для enterprise-legacy (браузеры, языки, Appium).

Источники

  1. Playwright Release Notes — Playwright Docs
  2. Cypress Changelog — Cypress Documentation
  3. Selenium 4.26 Released — 20 Years of Innovation — Selenium Blog
  4. Selenium vs Playwright vs Cypress: Complete Comparison Guide for 2026 — Master Software Testing
  5. Selenium vs Cypress vs Playwright: Best Testing Tool in 2026 — TestDino
  6. Selenium Market Share in Testing and QA — 6sense
  7. Cypress Cloud Pricing — Cypress.io
  8. Playwright GitHub Repository — Microsoft
  9. Selenium Alternatives in 2026: Playwright, Cypress & More — Quash

Похожие статьи

← Все статьи