Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Сценарное автоматизированное тестирование аутентификации веб-приложения с помощью Selenium WebDriver

Информационные технологии
20.07.2026
2
Поделиться
Аннотация
В статье предложен сценарный подход к автоматизированному тестированию аутентификации веб-приложения. Тестовый случай описывается предусловиями, входными данными, действиями, условиями ожидания и ожидаемым состоянием интерфейса. Подход реализован на Java 17 с применением Selenium WebDriver 4.23.0 и JUnit 5; сформирована матрица положительных, негативных и граничных сценариев. В учебном проекте реализован воспроизводимый положительный UI-тест как основа для расширения набора проверок.
Библиографическое описание
Васюрин, А. В. Сценарное автоматизированное тестирование аутентификации веб-приложения с помощью Selenium WebDriver / А. В. Васюрин. — Текст : непосредственный // Молодой ученый. — 2026. — № 29 (632). — URL: https://moluch.ru/archive/632/139334.


Введение

Аутентификация относится к критичным пользовательским сценариям веб-приложения: до её успешного выполнения пользователь не получает доступ к защищённым функциям. Проверка такого поведения относится к функциональному тестированию пользовательского интерфейса [5, 6]. При ручной проверке тестировщик многократно открывает форму, вводит различные данные, отправляет запрос и сопоставляет реакцию интерфейса с ожидаемым результатом. Автоматизация этого цикла уменьшает объём повторяемой работы и делает проверку пригодной для регулярного запуска после изменений приложения.

Основная техническая проблема UI-тестов связана с асинхронностью браузерного интерфейса. Элемент может присутствовать в DOM, но оставаться невидимым или недоступным для взаимодействия. Selenium предупреждает о непредсказуемости совместного применения неявных и явных ожиданий и рекомендует не смешивать их в одном сценарии [1]. Поэтому надёжность теста определяется не только последовательностью команд, но и явно заданными условиями готовности интерфейса.

Цель работы — разработать воспроизводимую сценарную методику проверки аутентификации, фиксирующую предусловия, тестовые данные, действия, условия ожидания и наблюдаемый результат. Для достижения цели формализован тестовый случай, определена последовательность выполнения, разработана матрица сценариев и реализован положительный UI-тест.

Материалы и методы

Технологическую основу составляют Java 17, Selenium WebDriver 4.23.0 и JUnit 5. WebDriver предоставляет единый интерфейс управления браузером, а JUnit организует жизненный цикл тестов и выполнение утверждений [2]. Требования к протоколу и модели управления браузером определены спецификацией WebDriver [4]. Для синхронизации используются явные ожидания, которые приостанавливают выполнение до наступления конкретного состояния элемента или страницы [1].

Тестовый случай представляется кортежем T = (P, D, A, W, E), где P — предусловия; D — тестовые данные; A — последовательность действий; W — условия ожидания; E — ожидаемое наблюдаемое состояние. Добавление W в модель принципиально важно для UI-теста: после действия браузер может не сразу перейти в состояние, пригодное для проверки.

Последовательность выполнения UI-теста аутентификации

Рис. 1. Последовательность выполнения UI-теста аутентификации

Для поиска элементов выбираются локаторы, связанные с назначением элемента, а не с его положением в разметке. Предпочтение отдаётся стабильным идентификаторам, атрибутам name, data-testid или семантическим CSS-селекторам. После отправки формы применяется ожидание признака завершения перехода: появления элемента целевой страницы, изменения URL, исчезновения формы или отображения сообщения об ошибке.

Каждый тест должен начинаться с известного состояния. Подготовка браузера и открытие страницы выполняются до сценария, а очистка ресурсов — после него. Тестовые данные не должны зависеть от результата предыдущего запуска. Такая организация делает сбой воспроизводимым и позволяет определить этап, на котором ожидаемое состояние не было достигнуто.

Таблица 1

Сценарии проверки аутентификации

Сценарий

Тестовые данные

Проверяемое состояние

Положительная аутентификация

Допустимые логин и пароль

Открыта защищённая страница или отображён её устойчивый признак

Неверный пароль

Корректный логин, неверный пароль

Показано сообщение об отказе; доступ не предоставлен

Неизвестный пользователь

Логин отсутствует в системе

Показано нейтральное сообщение об ошибке

Пустые поля

Пустой логин и/или пароль

Сработала клиентская или серверная валидация

Граничная длина

Минимальные и максимальные допустимые значения

Интерфейс корректно обрабатывает границы

Повторный запуск

Та же допустимая пара данных

Результат не зависит от состояния предыдущего теста

Результаты и обсуждение

В учебном тестовом проекте реализован автоматизированный сценарий положительной аутентификации. Он включает запуск браузера, переход к форме, ввод учётных данных, отправку запроса, ожидание признака успешного перехода и проверку итогового состояния. Сценарий построен без фиксированных задержек Thread.sleep(): выполнение продолжается после наступления условия либо завершается диагностируемым исключением по тайм-ауту.

Таблица 2

Этапы выполнения автоматизированного UI-теста

Этап

Контролируемое условие

Диагностическое значение

Подготовка

Браузер запущен, форма открыта

Исключает влияние неизвестного начального состояния

Ввод данных

Поля видимы и доступны для ввода

Отделяет ошибку локатора от ошибки авторизации

Отправка

Кнопка доступна для нажатия

Предотвращает действие до готовности интерфейса

Ожидание результата

Наступил признак успеха или отказа

Связывает действие с фактическим переходом

Проверка

Фактическое состояние соответствует ожидаемому

Формирует однозначный результат теста

Завершение

Ресурсы браузера освобождены

Обеспечивает независимость повторного запуска

Предложенная матрица расширяет положительный тест негативными и граничными проверками без дублирования общего сценария. Изменяются данные и ожидаемое состояние, тогда как открытие формы, заполнение полей и отправка остаются общими. При росте набора страниц Selenium рекомендует отделять представление страницы от тестов с помощью Page Object Model [3]. В небольшой учебной реализации это направление развития, а в расширенном наборе тестов — способ уменьшить повторение локаторов и действий.

Практическая ценность формализации состоит в воспроизводимости. Инструкция «войти в систему» не задаёт критерия готовности страницы и не объясняет причину сбоя. Кортеж T фиксирует входные данные и ожидаемый результат, а условие W связывает пользовательское действие с наблюдаемым переходом интерфейса. При неуспешном запуске отчёт показывает, какое состояние не было достигнуто до истечения тайм-аута.

Ограничением работы является реализация одного положительного сценария. Для полного покрытия необходимы негативные проверки, восстановление пароля, блокировка учётной записи, разграничение ролей и сетевые ошибки. Дополнительным направлением является параметризация тестов средствами JUnit 5 и запуск в нескольких браузерах.

Заключение

Разработана сценарная методика автоматизированной проверки аутентификации веб-приложения. Тест формализован через предусловия, данные, действия, ожидания и наблюдаемый результат. Синхронизация выполняется явным ожиданием состояния интерфейса, а независимость запусков обеспечивается контролируемой подготовкой и завершением теста. На Java с использованием Selenium WebDriver и JUnit 5 реализован положительный UI-тест и сформирована матрица последующих негативных и граничных сценариев. Методика может служить основой расширяемого набора регрессионных проверок формы входа.

Литература:

  1. Selenium. Waiting Strategies. URL: https://www.selenium.dev/documentation/webdriver/waits/ (дата обращения: 18.07.2026).
  2. JUnit Team. JUnit User Guide. URL: https://junit.org/junit5/docs/current/user-guide/ (дата обращения: 18.07.2026).
  3. Selenium. Page object models. URL: https://www.selenium.dev/documentation/test_practices/encouraged/page_object_models/ (дата обращения: 18.07.2026).
  4. W3C. WebDriver. URL: https://www.w3.org/TR/webdriver2/ (дата обращения: 18.07.2026).
  5. ISTQB. Certified Tester Foundation Level Syllabus v4.0. URL: https://www.istqb.org/certifications/certified-tester-foundation-level (дата обращения: 18.07.2026).
  6. Myers G. J., Sandler C., Badgett T. The Art of Software Testing. 3rd ed. Hoboken: Wiley, 2011. 256 p.
Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью

Молодой учёный