Как отслеживать и закрывать любые всплывающие окна (Selenium WebDriver, C#)

Как отслеживать и закрывать любые всплывающие окна (Selenium WebDriver, C#)
В данной статье я расскажу, как отлавливать и закрывать любые окна в любой момент времени. При этом мы конечно же должны знать, что есть некое окно, которое может всплывать на сайте, это необходимо, чтобы в коде его указать. Сейчас речь идёт не о всплывающих сообщениях JavaScript, хотя думаю можно приспособить написанное ниже и под них.
Подробнее

Как генерировать собственный отчёт в тестах NUnit (Selenium WebDriver, C#)

Как генерировать собственный отчёт в тестах NUnit (C# + Selenium WebDriver)

Сразу хочу сказать, что NUnit используется мной при написании автоматических тестов с помощью C# + Selenium WebDriver, но думаю это не играет особой роли при создании инструмента генерации собственного отчёта. Отчёт формируется в формате HTML.
Подробнее

Как проверить наличие (if…exist) или видимость элемента без вызова исключения/ошибки (Selenium WebDriver, C#)

Как проверить наличие элемента (if...exist) без вызова исключения/ошибки (Selenium WebDriver, C#)
В процессе написания автоматических тестов, с использованием Selenium WebDriver, появилась необходимость проверять наличие элемента на странице и, если элемент не существует, выполнять одни действия, если существует, то выполнять другие действия. К примеру, сейчас я работаю в сфере туристического бизнеса. При проверке функциональности сайта надо перейти в определённый тур и если есть билеты на текущее число (и кнопка «Бронировать»), то произвести заказ, если нету, то надо вернуться назад и выбрать другой тур. И так до тех пор, пока не будет найден тур, по которому можно осуществить заказ.
Подробнее

Как выбрать значение из выпадающего списка (Selenium WebDriver, C#)

Как выбрать значение из выпадающего списка (Selenium WebDriver, C#)
Сегодня рассмотрим вопрос, как выбрать требуемое нам значение из выпадающего списка при написании тестов на C# и Selenium WebDriver. В процессе написания тестов я столкнулся с двумя типами выпадающих списков, работу с которыми мы и рассмотрим.
Подробнее

Поиск элементов на странице не имеющих «class» и «id», но содержащих текст (Selenium WebDriver, C#)

Поиск элементов на странице не имеющих class и id, но содержащих текст (Selenium WebDriver, C#)
Рано или поздно при разработке автоматических тестов вы столкнётесь с задачей, когда надо будет найти элемент (html тег), у которого нет атрибутов «class» и «id». Представьте ситуацию, когда на странице есть несколько элементов без «class» и «id» и все они содержат одинаковый текст, но в определённый момент только один из них видимый, а остальные в коде есть, но визуально не видны.
Подробнее

Как реализовать ожидание скрытия/появления элемента на странице (Selenium WebDriver, C#)

Как реализовать ожидание скрытия/появления элемента на странице в (Selenium WebDriver, C#)
В процессе написания автоматических тестов я столкнулся с проблемой, когда необходимо было дождаться скрытия какого-либо элемента и далее продолжить выполнение тестов. К примеру, нажимается кнопка и сервис выполняя какие-либо действия показывает временно панель прогресса, чтобы пользователь не думал, что всё зависло. Если не поставить ожидание скрытия данной панели, то автоматические тесты попытаются продолжиться без ожидания. Что в этом случае произойдёт? Правильно, тесты будут провалены, так как остальные элементы страницы недоступны, пока поверх всего находится панель отображающая прогресс выполнения текущей операции.
Подробнее

UnexpectedAlertBehavior в FirefoxDriver или как FirefoxDriver обрабатывает модальные окна (Selenium WebDriver, C#)

UnexpectedAlertBehavior в FirefoxDriver или как FirefoxDriver обрабатывает модальные окна
При написании тестов с использованием Selenium WebDriver + C# + Nunit прописываю в коде методы обработки модальных окон, которые появляются на страницах тестируемого сервиса. ChromeDriver отрабатывает тесты замечательно. Меняю настройки тестов на использование FirefoxDriver и при прохождении тестов сразу получаю ошибку. В ошибке говорится, что не находим всплывающих окон. Как так? Запускаю тесты и внимательно наблюдаю за процессом. Модальные окна появляются и быстро исчезают. Почему?
Подробнее