Selenium помогает автоматически проверять сайты через браузер. Он открывает страницы, заполняет поля, нажимает кнопки и смотрит, появился ли ожидаемый результат.
Такие проверки называют автотестами. Их запускают после обновления сайта, чтобы заново проверить важные функции: форму заявки, вход в аккаунт, корзину или переход на другую страницу.
Что такое Selenium простыми словами
Selenium — набор инструментов для управления браузером с помощью программного кода. Тестировщик заранее записывает действия и указывает правильный результат. После запуска Selenium повторяет этот сценарий в Chrome, Firefox, Edge или Safari.
Например, тестировщик хочет проверить форму на лендинге. Selenium открывает страницу, вводит имя и email, нажимает кнопку «Отправить», а затем ищет сообщение об успешной отправке.
В проект Selenium входят три основных инструмента.
| Инструмент | Что делает |
| Selenium WebDriver | Выполняет написанные тестировщиком команды в браузере |
| Selenium IDE | Записывает действия пользователя и помогает собрать простой сценарий |
| Selenium Grid | Запускает проверки в разных браузерах и на нескольких компьютерах |
Начинающий тестировщик чаще всего работает с WebDriver. IDE подходит для первого знакомства с Selenium, а Grid понадобится позже, когда тестов станет много.
Как Selenium проверяет лендинг
Допустим, команда обновила форму заявки: изменила поля, дизайн кнопки и страницу, которая открывается после отправки. Вручную этот путь придётся проходить после каждого заметного изменения.
Автотест выполняет те же действия в заданном порядке:
- Открывает лендинг.
- Заполняет имя и email.
- Нажимает кнопку отправки.
- Ждёт появления страницы благодарности.
- Проверяет её адрес или текст сообщения.
Если кнопка перестала работать, форма не отправилась или открылась другая страница, тест завершится с ошибкой. Команда увидит, на каком шаге возникла проблема.

Формы лучше проверять на тестовой версии сайта. Заявка с рабочего лендинга может попасть в CRM, статистику и отчёты отдела продаж. Для проверки также используют отдельные адреса и номера телефонов, которые легко отличить от данных клиентов.
В проектах Selenium пригодится для проверки лендингов, форм, кнопок и редиректов. Например, тест может открыть ссылку с рекламными метками, перейти по CTA-кнопке и проверить итоговый адрес страницы.
Какие проверки можно автоматизировать
Selenium подходит для повторяемых сценариев, результат которых известен заранее. В браузере можно проверить:
- открывается ли нужная страница;
- работает ли кнопка;
- принимает ли форма корректные данные;
- показывает ли форма ошибку при пустом поле;
- ведёт ли ссылка на нужный адрес;
- открывается ли личный кабинет после входа;
- добавляется ли товар в корзину;
- работает ли один сценарий в нескольких браузерах.
Автотест выполняет только заданные шаги. Удобство формы, качество текста и привлекательность оффера оценивает человек.
Как Selenium управляет браузером
Тестировщик пишет последовательность команд: открыть страницу, найти поле, ввести текст, нажать кнопку и проверить результат. Selenium WebDriver передаёт эти команды браузеру.
Чтобы найти кнопку или поле на странице, тест использует локатор. Это адрес элемента в HTML-коде сайта. Например, поле можно найти по его имени, постоянному идентификатору или специальной метке, которую добавили разработчики.
Страница иногда загружает отдельные блоки с задержкой. Тогда в тест добавляют ожидание: Selenium продолжит сценарий после появления кнопки, сообщения или другой нужной части страницы. Фиксированная пауза работает хуже, поскольку сайт может загрузиться быстрее или медленнее заданного времени.
Браузеру также нужен драйвер — небольшой компонент для приёма команд. В современных версиях Selenium его обычно подбирает встроенный Selenium Manager. Для обычного запуска вручную скачивать chromedriver.exe не требуется.
Когда автоматизация оправдана
Автоматизировать каждую проверку нет смысла. Selenium особенно полезен, когда один сценарий приходится регулярно повторять.
Хороший кандидат для автотеста отвечает нескольким условиям:
- функция важна для сайта;
- её проверяют после каждого обновления;
- шаги почти не меняются;
- правильный результат легко определить;
- для проверки можно подготовить отдельные данные.
Форма заявки подходит под эти условия. Её регулярно проверяют, шаги заранее известны, а результат виден по сообщению или странице благодарности.
Новый интерфейс удобнее сначала проверить вручную. Человек может заметить непонятный текст, неудобное расположение кнопки или неожиданное поведение страницы. Когда сценарий станет стабильным, его можно добавить в набор автотестов.
Рабочий автотест начинается с обычного тест-кейса. Затем QA-инженер выбирает элементы страницы, задаёт ожидания и указывает правильный результат. Для такой работы нужны основы тестирования, понимание HTML, язык программирования, Selenium WebDriver и тестовый фреймворк вроде TestNG.
Курс «Тестировщик ПО (QA-инженер)» в Академии IT DMS
Сертификат или удостоверение о повышении квалификации.
AFFTIMES−5 % на первую покупку. Скидка суммируется с любыми акциями школы. Если оплачиваете через менеджера в чате, назовите ему промокод.
Почему тест иногда падает без ошибки на сайте
Иногда автотест то проходит, то завершается ошибкой, хотя сайт не менялся. Такие тесты называют нестабильными, или flaky-тестами.
Частая причина — неправильно заданное ожидание. Тест нажимает кнопку раньше, чем она появилась на странице. Эту проблему решают ожиданием конкретного события: кнопка стала доступна, сообщение появилось или адрес страницы изменился.
Вторая причина — ненадёжный локатор. Если тест ищет кнопку по длинному пути в HTML-коде, небольшое изменение вёрстки может его нарушить. Постоянный id или специальная метка data-testid переживают изменения дизайна лучше.
Проблемы возникают и из-за общих данных. Два теста могут одновременно войти в один аккаунт или изменить одну заявку. Для каждого запуска готовят отдельные данные и новую сессию браузера. Selenium рекомендует изолировать тесты друг от друга.
Для каких задач Selenium не подходит
Selenium работает с веб-интерфейсом. Для других видов проверок используют отдельные инструменты:
- API проверяют через Postman, REST Assured и похожие решения;
- нагрузку на сайт измеряют с помощью JMeter или k6;
- нативные приложения Android и iOS тестируют через Appium;
- CAPTCHA и двухфакторную авторизацию отключают или упрощают на тестовом стенде;
- точное визуальное сравнение страниц проводят специальными сервисами.
Запуск большого количества браузеров создаёт лишнюю нагрузку и искажает измерение скорости. Поэтому Selenium не рекомендуют использовать как основной инструмент нагрузочного тестирования.
Можно ли начать без программирования
Selenium IDE записывает действия в браузере и затем повторяет их. С его помощью можно собрать первый сценарий и посмотреть, из каких команд он состоит.
Для рабочих автотестов понадобится программирование. Код позволяет добавлять проверки, подготавливать данные, повторно использовать одинаковые действия и запускать сразу несколько сценариев.
Selenium поддерживает Java, Python, JavaScript, C#, Ruby и Kotlin. Новичку можно выбрать Java или Python. Java часто используют вместе с TestNG или JUnit, а Python — с pytest.
Как начать изучать Selenium
Сначала стоит разобраться, как тестировщик проверяет сайт вручную. Автоматизация станет понятнее, когда уже умеешь составлять тест-кейсы и находить ошибки.
Дальше можно двигаться по такому маршруту:
- Изучить основы тестирования и тест-дизайна.
- Разобраться в простой структуре HTML-страницы.
- Освоить основы Java или Python.
- Научиться находить поля и кнопки с помощью локаторов.
- Автоматизировать одну форму на учебном сайте.
- Добавить ожидания и проверку результата.
- Запустить тест в другом браузере.
Для первого проекта достаточно формы с тремя проверками: успешная отправка, пустое обязательное поле и неверный email. На таком примере понятны и действия Selenium, и работа QA-инженера.
Selenium или Playwright
Selenium поддерживает больше языков программирования и управляет Chrome, Firefox, Edge и Safari через стандарт WebDriver. Он часто встречается в проектах на Java с TestNG или JUnit.
Playwright поддерживает JavaScript, TypeScript, Python, Java и .NET. В нём многие ожидания уже встроены: перед нажатием инструмент проверяет, виден ли элемент и доступен ли он для действия.
Если команда уже использует Java и Selenium, менять стек ради нового инструмента обычно нет причины. Для нового веб-проекта можно сравнить оба варианта на нескольких основных сценариях.
Кому пригодится Selenium
Selenium стоит изучать будущим QA-инженерам, которые хотят заниматься автоматизацией тестирования сайтов. Он помогает понять, как ручной тест-кейс превращается в программу и запускается после каждого обновления продукта.
Вебмастеру или маркетологу писать автотесты самостоятельно необязательно. Понимание Selenium поможет объяснить тестировщику, какие сценарии особенно важны: отправка формы, переход по рекламной ссылке, сохранение параметров или открытие страницы благодарности.
Начать можно с одного знакомого сценария на тестовом лендинге. Если интересно раскладывать действия по шагам, искать причину ошибки и превращать ручную проверку в повторяемый тест, направление автоматизации подойдёт для дальнейшего изучения.
FAQ
Selenium — набор инструментов для автоматического управления веб-браузером. Его используют для проверки сайтов и веб-приложений.
Selenium — название всего проекта. WebDriver — его основной инструмент для передачи команд браузеру.
Selenium IDE позволяет записать простой сценарий без кода. Для создания и поддержки рабочих автотестов потребуется Java, Python или другой поддерживаемый язык.
В современных версиях Selenium драйвер обычно подбирает Selenium Manager. Ручная настройка может потребоваться в корпоративной сети или специальном тестовом окружении.
Selenium подходит для сайтов, открытых в мобильном браузере. Нативные приложения Android и iOS обычно проверяют через Appium.





