Phone icon Зв'язатись з нами

QA та тестування

Що таке Playwright?

Playwright — це сучасний інструмент від Microsoft для автоматизації браузерів і E2E-тестування. Він керує Chromium, Firefox і WebKit через один API і одразу розв’язує головну проблему автотестів — нестабільність через проблеми з часом очікування.

Головна особливість — автоматичне очікування: перед кожною дією Playwright сам чекає, поки елемент з’явиться і стане доступним для натискання. Тому не потрібні ручні паузи, через які тести падають без видимої причини.

У комплекті є зручні інструменти: запис сценарію кліками, трасування тесту, що впав, з історією кроків і скриншотами, паралельний запуск, перехоплення мережевих запитів. Тести найчастіше пишуть на TypeScript або Python.

Де застосовується

Playwright частіше обирають у продуктових командах і нових проєктах, де фронтенд написаний на JavaScript чи TypeScript: тести зберігаються в тому ж репозиторії і пишуться тією ж мовою, що й застосунок. Один набір перевірок працює в Chromium, Firefox і WebKit без змін.

Інструмент закриває і суміжні задачі: запис сценарію за діями в браузері, покрокове налагодження, трасування з відео і скриншотами при падінні, підміна мережевих запитів, імітація мобільних пристроїв. Це значно скорочує час на розбір нестабільних запусків.

Приклад

Тест відкриває каталог, застосовує фільтр за ціною і перевіряє, що у видачі немає товарів дорожчих за вказану суму. Playwright сам чекає на оновлений список, тож писати паузи вручну не потрібно.

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

test('submits a consultation request', async ({ page }) => {
  await page.goto('/glossary');
  await page.getByRole('button', { name: 'Записатися' }).click();
  await page.getByLabel("Ім'я").fill('Анна');
  await page.getByLabel('Телефон').fill('+380991234567');
  await page.getByRole('button', { name: 'Надіслати' }).click();
  await expect(page.getByText('Дякуємо за заявку')).toBeVisible();
});
Перевірка форми на Playwright: вбудоване очікування прибирає потребу в паузах.

Playwright чи Selenium

Selenium — стандарт галузі з підтримкою найбільшої кількості мов і браузерів, його частіше використовують у великих і старих проєктах, особливо на Java. Playwright молодший, швидше запускається і стабільніший за замовчуванням, тому його частіше обирають для нових проєктів. Для кар’єри в QA Automation корисно знати обидва.

Часті запитання

Чим Playwright кращий за Selenium?

Насамперед вбудованим очікуванням: він сам чекає, поки елемент стане видимим і активним, і це прибирає головну причину нестабільних тестів. Крім того, він простіше встановлюється, працює з трьома браузерними рушіями і має зручне трасування помилок.

Якими мовами можна писати тести на Playwright?

Офіційно підтримуються TypeScript і JavaScript, Python, Java та C#. Найповніше і найраніше нові можливості з’являються у версії для TypeScript — її використовує більшість команд, і саме до неї більшість документації та прикладів.

Чи підходить Playwright для тестування API?

Так, у ньому є вбудований клієнт для HTTP-запитів. Це зручно у змішаних сценаріях: підготувати дані через API, а потім перевірити, як вони показуються в інтерфейсі. Для повноцінного набору API-тестів частіше використовують спеціалізовані інструменти.

Чи варто переводити наявні тести із Selenium?

Лише якщо є реальні проблеми: постійні падіння, довгі запуски, складна підтримка. Переписування великого набору тестів займає тижні. Часто залишають наявні тести, а все нове пишуть на Playwright, поступово змінюючи співвідношення.

Навчання тестуванню в OWU

Опануйте професію QA-інженера на практичних курсах із менторами та реальними проєктами.

Обрати курс