Selenium — открытый фреймворк для автоматизации веб-браузеров, ставший индустриальным стандартом тестирования. Создан Джейсоном Хаггинсом в ThoughtWorks в 2004 году. Основа — протокол WebDriver (W3C стандарт), позволяющий управлять любым браузером программно.
Компоненты Selenium
- Selenium WebDriver — основной API; управляет Chrome, Firefox, Safari, Edge через их нативные драйверы (ChromeDriver, GeckoDriver). Поддерживает Java, Python, C#, JavaScript, Ruby
- Selenium Grid — параллельный запуск тестов на нескольких машинах или браузерах одновременно
- Selenium IDE — браузерное расширение для записи тестов (запись и воспроизведение действий)
Пример теста (Python)
Типичный тест: открыть браузер → перейти на страницу → найти элемент → взаимодействовать → проверить результат. Для поиска элементов используют CSS-селекторы, XPath, id, name. Паттерн Page Object Model (POM) отделяет логику тестов от локаторов элементов.
Сравнение с современными альтернативами
- Playwright (Microsoft, 2020) — быстрее, встроенный auto-wait, лучше работает с SPA
- Cypress — в браузерной среде, легче в настройке, только JavaScript/TypeScript
- Puppeteer — только Chrome, от Google
Selenium сохраняет позиции благодаря зрелости, огромному сообществу и поддержке всех языков. Grid удобен для enterprise CI/CD.
