Python: Selenium
Теория: Проверки и утверждения
После выполнения действий на странице тест должен подтвердить, что результат соответствует ожиданиям. В Selenium это делается с помощью утверждений — выражений с оператором assert. Они сравнивают фактическое состояние страницы с ожидаемым и сообщают Pytest, если что-то пошло не так.
Проверка URL, текста, отображения элементов
Самая частая проверка — переход по адресу. После входа в систему, клика по кнопке или перехода по ссылке тест должен убедиться, что браузер оказался на нужной странице. Для этого используется свойство current_url:
Если в адресе действительно есть /login, проверка пройдёт. Если нет — Pytest сообщит, что ожидалось одно, а получено другое.
Следующий важный тип проверки — текст. Обычно проверяют заголовки, сообщения об ошибках или подтверждения действий.
Метод .text возвращает видимый текст элемента. Если сообщение не совпадает, тест падает с ошибкой.
Иногда нужно просто убедиться, что элемент появился на странице. Для этого используется метод .is_displayed().
Если элемент найден и виден, тест проходит. Если элемент скрыт или отсутствует, Selenium поднимет исключение.
Использование assert и pytest.raises
В тестах Python используется оператор assert. Он проверяет любое условие и вызывает ошибку, если результат не совпадает с ожидаемым. В Selenium через него фиксируют поведение интерфейса.
Если условие выполняется, тест идёт дальше. Если нет — Pytest сообщает, на каком утверждении произошла ошибка.
Для проверки ошибок используют pytest.raises. Этот инструмент показывает, что программа должна вызвать исключение в определённой ситуации. Например, если элемент не существует.
Если исключение действительно появилось, тест проходит. Если элемент вдруг найден — тест падает.
Позитивные и негативные кейсы
Любая функциональность тестируется в двух направлениях. Позитивные кейсы проверяют нормальный сценарий, когда пользователь вводит корректные данные. Негативные — что система правильно реагирует на ошибки и не даёт пройти дальше.
Позитивный пример — успешная авторизация:
После входа браузер должен открыть /secure и показать сообщение об успехе.
Негативный пример — неправильный пароль:
Позитивный тест подтверждает, что функция работает. Негативный — что она ломается правильно: сайт не падает, не даёт доступ и показывает понятную ошибку. Вместе они обеспечивают полное покрытие поведения системы.


