Що таке Playwright?
Playwright — сучасний інструмент Microsoft для автоматизації браузерів та E2E-тестування. Він керує Chromium, Firefox і WebKit одним API та з коробки розвʼязує головний біль автотестів — нестабільність через тайминги.
Ключова особливість — автоочікування: перед дією Playwright сам дочікується, поки елемент зʼявиться й стане клікабельним. Це прибирає ручні паузи, через які тести падають через раз без жодної причини.
У комплекті йдуть зручні інструменти: запис сценарію кліками, трасування тесту, що впав, з історією кроків і скриншотами, паралельний запуск, перехоплення мережевих запитів. Пишуть тести найчастіше на TypeScript або Python.
Playwright чи Selenium
Selenium — галузевий стандарт із максимальною підтримкою мов і браузерів, частіше трапляється у великих і давніх проєктах, особливо на Java. Playwright молодший, швидший у запуску та стабільніший за замовчуванням, тому його частіше обирають у нових проєктах. Для карʼєри в QA Automation корисно знати обидва.
Повʼязані терміни
Selenium — інструмент для автоматизації браузера: він дозволяє програмно відкривати сторінки, клікати по елементах, вводити текст і перевіряти вміст. На ньому пишуть автотести вебінтерфейсів на Java, Python, C# та інших мовах.
Test AutomationАвтоматизація тестування — написання програм, які самі виконують перевірки й порівнюють результат з очікуваним. Такі тести запускають за кожної зміни коду, щоб швидко помічати поломки у вже працюючій функціональності.
E2E TestingE2E (end-to-end) тестування — перевірка повного користувацького сценарію на зібраній системі: тест відкриває браузер, реєструється, додає товар у кошик, оплачує й переконується, що замовлення зʼявилося. Усі компоненти при цьому працюють по-справжньому.
TypeScriptTypeScript — надбудова над JavaScript, яка додає статичні типи. Ви вказуєте, якого типу дані очікує функція чи змінна, а компілятор знаходить невідповідності ще до запуску коду й перетворює вихідник на звичайний JavaScript.
CI/CDCI/CD — автоматичний конвеєр, через який проходить кожна зміна коду: збірка, запуск тестів і доставка готової версії на сервери. Розробник надсилає код у репозиторій, а все інше відбувається без ручних дій.