КОМАНДЫ ОЖИДАНИЯ SELENIUM – НЕЯВНОЕ, ЯВНОЕ, ПЛАВНОЕ ОЖИДАНИЕ | РУКОВОДСТВО ПО SELENIUM WEBDRIVER

Команды ожидания Selenium играют важную роль при выполнении тестов Selenium. Давайте рассмотрим различные команды ожидания, такие как «Неявные» и «Явные» команды ожидания в селене.

Во время выполнения скриптов иногда может возникать исключение «Element Not Visible Exception». Это исключение появляется, когда есть задержка во времени загрузки элементов, с которыми мы взаимодействуем. Чтобы решить эту проблему, нам нужно использовать команды ожидания. Используя команды ожидания Selenium, наш скрипт будет ожидать загрузки элементов в течение определенного времени, прежде чем перейти к следующему шагу.

Различные типы команд ожидания Selenium:

  1. Неявное ожидание
  2. Явное ожидание — WebDriverWait
  3. FluentWait

Неявное ожидание:

Неявное ожидание указывает WebDriver подождать определенное время, прежде чем он выдаст исключение. Как только мы установим время, WebDriver будет ожидать элемент в зависимости от времени, которое мы установили, прежде чем сгенерировать исключение. По умолчанию установлено значение 0 (ноль). Нам нужно установить некоторое время ожидания, чтобы WebDriver ждал необходимое время.

Примечание. Неявное ожидание действует все время, пока браузер открыт. Время, необходимое для поиска всех элементов, основано на времени, установленном для неявного ожидания.

Синтаксис:

1

driver.manage().timeouts().implicitlyWait(TimeOut, TimeUnit.SECONDS);

Неявное время ожидания применяется ко всем элементам в скрипте.

Неявное ожидание будет принято 2 параметра, первый параметр будет принимать время как целочисленное значение, а второй параметр будет принимать измерение времени в СЕКУНДАХ, МИНУТАХ, МИЛИСЕКУНД, МИКРОСЕКУНД, НАНОСЕКУНД, ДНЯХ, ЧАСАХ и т. д.

Полная публикация о неявных ожиданиях с примером.

Явное ожидание:

Явные ожидания ограничены конкретным веб-элементом. Явное ожидание — это код, определяемый вами для ожидания выполнения определенного условия, прежде чем продолжить работу в коде.

Явное ожидание бывает двух типов:

  1. WebDriverWait
  2. FluentWait

WebDriverWait:

WebDriverWait применяется к определенному элементу с заданными ожидаемыми условиями и временем. Это ожидание применяется только к указанному элементу. Это ожидание также может вызвать исключение, если элемент не найден.

Ниже приведены ожидаемые условия, которые можно использовать в явном ожидании

  1. alertIsPresent()
  2. elementSelectionStateToBe()
  3. elementToBeClickable()
  4. elementToBeSelected()
  5. frameToBeAvaliableAndSwitchToIt()
  6. invisibilityOfTheElementLocated ()
  7. invisibilityOfElementWithText()
  8. presenceOfAllElementsLocatedBy()
  9. presenceOfElementLocated()
  10. textToBePresentInElement()
  11. textToBePresentInElementLocated()
  12. textToBePresentInElementValue()
  13. titleIs()
  14. titleContains()
  15. видимость()
  16. visibleOfAllElements()
  17. visibilityOfAllElementsLocatedBy()
  18. visibilityOfElementLocated()

Синтаксис:

1234

Подождите, подождите = новый FluentWait<WebDriver>(драйвер).withTimeout(45, TimeUnit.SECONDS) .pollingevery(5, TimeUnit.SECONDS).ignoring(NoSuchElementException.class);

Fluent Wait использует два параметра – значение времени ожидания и частоту опроса. В приведенном выше синтаксисе мы взяли значение времени ожидания как 45 секунд и частоту опроса как 5 секунд.
Максимальное время (45 секунд) для ожидания условия и частота (5 секунд) для проверки успеха или неудачи заданное условие. Если элемент находится в этом временном интервале, он выполнит операции, в противном случае он вызовет «ElementNotVisibleException».

Полный пост о Fluent Wait с примером.

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

Подпишитесь и получите бесплатную электронную книгу и регулярные обновления с сайта SoftwareTestingMaterial.com.
TAG: qa

От QA genius

Adblock
detector