Чем Playwright отличается от Cypress?
E2E и инструменты
Cypress и Playwright — инструменты для E2E-тестов в браузере. Различаются архитектурой и охватом.
Cypress
- Запускается внутри браузера, поэтому удобно отлаживать: видно шаги и снимки DOM.
- Один язык: JavaScript или TypeScript.
- Исторически ограничения с несколькими вкладками и разными доменами.
Playwright
- Управляет браузером снаружи по протоколу, поддерживает Chromium, Firefox и WebKit.
- Несколько вкладок, контекстов и пользователей в одном тесте.
- Параллельный запуск из коробки, трассировка (trace viewer), автоожидание элементов.
- Языки: JS/TS, Python, Java, .NET.
import { test, expect } from '@playwright/test';
test('login', async ({ page }) => {
await page.goto('/login');
await page.getByLabel('Email').fill('a@b.co');
await page.getByRole('button', { name: 'Войти' }).click();
await expect(page).toHaveURL('/dashboard');
});Выбор
Для кросс-браузерности и сложных сценариев чаще берут Playwright, для быстрого старта и удобной отладки в браузере подходит Cypress.
Коротко для собеседования
Оба умеют ждать элементы и стабильно запускаться. Playwright сильнее в браузерах и параллелизме, Cypress в интерактивной отладке.