Prog Academy
RU UA
QA та тестування

Що таке Selenium?

Selenium — інструмент для автоматизації браузера: він дозволяє програмно відкривати сторінки, клікати по елементах, вводити текст і перевіряти вміст. На ньому пишуть автотести вебінтерфейсів на Java, Python, C# та інших мовах.

Основний компонент — Selenium WebDriver, який керує справжнім браузером через його драйвер. Тест виконує ті самі дії, що й людина, тому перевіряється реальна поведінка застосунку, а не його модель.

Selenium залишається галузевим стандартом: він підтримує всі великі браузери та мови, за ним величезна спільнота, а у вакансіях QA Automation його згадують найчастіше. Зазвичай його використовують разом із фреймворком тестування (JUnit, TestNG, pytest) і патерном Page Object.

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

Selenium лишається найпоширенішим інструментом автоматизації вебінтерфейсів у корпоративній розробці. Звʼязка Selenium з Java і TestNG чи JUnit — типова вимога українських вакансій QA Automation, особливо в аутсорсингових компаніях із довгоживучими проєктами.

Тести зазвичай організовують за шаблоном Page Object: кожна сторінка описується окремим класом з її елементами і діями, а сам тест читається як послідовність бізнес-кроків. Запускають їх у конвеєрі CI, часто паралельно в кількох браузерах через Selenium Grid або хмарні сервіси.

Приклад

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

WebDriver driver = new ChromeDriver();
driver.get("https://example.com/login");

driver.findElement(By.id("email")).sendKeys("[email protected]");
driver.findElement(By.id("password")).sendKeys("secret");
driver.findElement(By.cssSelector("button[type=submit]")).click();

new WebDriverWait(driver, Duration.ofSeconds(10))
        .until(ExpectedConditions.visibilityOfElementLocated(By.id("account-name")));

driver.quit();
Selenium з очікуванням елемента: тест чекає появи результату, а не фіксовану кількість секунд.

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

Selenium чи Playwright — що вчити сьогодні?

Playwright сучасніший: він швидший, стабільніший через вбудовані розумні очікування і простіший у налаштуванні. Але Selenium і досі частіше трапляється у вакансіях і в наявних проєктах, які треба підтримувати. Для першої роботи розумно знати обидва, почавши з того, що вимагає цільовий ринок.

Якою мовою писати тести на Selenium?

Він підтримує Java, Python, C#, JavaScript і Ruby. В українських вакансіях QA Automation з великим відривом лідирує Java, тому її частіше беруть для працевлаштування. Python обирають там, де команда вже пише на ньому, — поріг входу нижчий.

Що таке Page Object?

Шаблон організації коду, за якого кожна сторінка описується окремим класом: у ньому зберігаються локатори елементів і методи дій. Тест звертається до цих методів і не знає про розмітку. При зміні верстки правиться один клас, а не два десятки тестів.

Чому тести на Selenium часто падають без причини?

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

Повʼязані терміни