Playwright, более продвинутая альтернатива Selenium

Andrey Lushnikov — Playwright: Web testing without drama (на русском)

Проблемы, из моего опыта, которые есть на Selenium и которые решены в Playwright

  • фиксация версии браузера - каждая версия Playwright привязана к конкретным версиям браузеров(Chrome, Firefox, Safari) (конечно, их можно поменять). На Linux, на котором у нас бегают Gitlab CI зачастую в репозиториях версии браузеров обновляются, и нужной может не оказаться (да и для Windows непросто скачать прошлые версии браузеров), а также, браузер может случайно обновиться. Playwright поддерживают собственный репозиторий с браузерами - , учитывая вышенаписанное, исключена ситуация, когда на CI машине или на машине тестировщика браузер случайно обновился и тесты поломались

  • проблема с драйверами к браузеру, с Selenuim они в комплекте не идут, их нужно скачивать самостоятельно. В Playwright такой проблемы нет

  • работа с динамическими страницами (которые формируются React или Vue) - с этим Selenium плохо справляется, приходится делать ретраи, чтобы найти нужную кнопку, которая отрисовалась фреймворком уже после загрузки страницы, как реакция на что-то. В Playwright такой проблемы нет

Playwright официально поддерживает JavaScript и Java API (можно писать на Java, а значит и на Kotlin), также я нашёл Go API https://github.com/playwright-community/playwright-go от сообщества