Тестирование фронтенда
Теория: WebDrivers
Web Drivers
Web Drivers - это инструменты для взаимодействия с браузером.
- Интерфейс удаленного управления, который позволяет анализировать и управлять браузером
- Платформонезависимый и не зависит от языка
- Предоставляет набор интерфейсов для нахождения и управления элементами DOM
- Не имеет прямого отношения к тестированию
Selenium
Selenium — один из популярных фреймворков для тестирования. Поддерживается всеми основными платформами и на всех браузерах. Он позволяет автоматизировать тестирование, имитировать действия пользователей.
Использование:
В асинхронных запросах промисы должны возвращаться из тестов, иначе тесты не дожидаются выполнение асинхронных операций. Либо нужно использовать async await
Тоже самое с async await:
Cypress
Cypress — это e2e фреймворк для тестирования на JS, имеет свой тест-раннер, поддерживает множество языков.
Компонентное тестирование:
Playwright
Playwright — библиотека от Microsoft, так же поддерживает множество языков. Не имеет своего тестраннера.
Пример использования:
Имитация другого устройства:
Puppeteer
Puppeteer — библиотека с упором на chrome. Синтаксис очень похож на playwright: