Ожидание в Selenium

Команды ожидания в Selenium

В данной статье мы познакомимся с тем, как использовать различные команды ожидания в Selenium. Рассмотрим такие типы команд, как andWait и waitFor.

Примечание редакции: у нас есть еще одна полезная статья по этой теме – “Ожидания в Selenium для автоматизации тестирования”.

Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ

Команды andWait

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

Примерами являются:

  • clickAndWait
  • typeAndWait
  • selectAndWait
Команды andWait

Первый тест прошел, потому что была использована команда clickAndWait. Selenium сначала подождал загрузки новой страницы, а потом выполнил команду assertTitle.

Второй тест провалился, потому что была использована команда click. Selenium выполнил команду assertTitle, не ожидая загрузки новой страницы.

Команды waitFor

Это команды, благодаря которым Selenium будет ждать выполнения заданного условия перед переходом к следующей команде (независимо от загрузки новой страницы). Такие команды целесообразнее использовать на динамических сайтах, основанных на AJAX, которые изменяют значения и элементы без перезагрузки всей страницы. Примерами могут служить:

  • waitForTitle
  • waitForTextPresent
  • waitForAlert

Рассмотрим приведенный ниже сценарий для Facebook:

Команды waitFor

Выделенный красным блок появляется после нажатия на ссылку “Why do I need to provide my birthday?”. Обратите внимание: блок появляется без перезагрузки страницы.

Мы можем использовать комбинацию click и waitForTextPresent для проверки наличия текста “Providing your birthday”:

Комбинация команд click и waitForTextPresent

Мы не можем использовать clickAndWait, поскольку при нажатии на ссылку “Why do I need to provide my birthday?” страница не загружалась. Если мы это сделаем, тест будет провален:

clickAndWait

Резюме

Команды ожидания в Selenium делятся на две категории: andWait и waitFor. Первые используются, когда ожидается загрузка страницы. Вторые – когда загрузка новой страницы не ожидается.

Перевод второй части статьи «Verify Element Present & waitFor Command in Selenium».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *