Selenium FluentWait — это одно из явных ожиданий.
Явные ожидания ограничены определенным веб-элементом. Явное ожидание — это код, который вы определяете для ожидания выполнения определенного условия, прежде чем продолжить код.
Типы явного ожидания:
- WebDriverWait
- FluentWait
Здесь мы обсуждаем Selenium FluentWait. Нажмите на эту ссылку для WebDriverWait.
Selenium FluentWait:
FluentWait может определить максимальное время ожидания определенного условия и частоту, с которой следует проверять условие, прежде чем создавать исключение «ElementNotVisibleException».
Проще говоря, он пытается найти веб-элемент повторно через равные промежутки времени, пока не истечет время ожидания или пока объект не будет найден.
Мы используем команды FluentWait в основном, когда у нас есть веб-элементы, которые иногда видны через несколько секунд, а иногда занимают больше времени, чем обычно. В основном в приложениях Ajax. Мы можем установить период объединения по умолчанию в соответствии с нашими требованиями. Мы могли игнорировать любое исключение при опросе элемента.
Синтаксис:
12345678910 | Подождите, подождите = new FluentWait( Ссылка на WebDriver).withTimeout(время ожидания, SECONDS).pollingEvery(время ожидания, SECONDS).ignoring(Exception.class); WebElement foo=wait.until(new Function<WebDriver, WebElement>() {public WebElement applyy(драйвер WebDriver) {return driver.findElement(By.id(“foo”));}}); |
Пример:
1234 | Подождите, подождите = новый FluentWait<WebDriver>(драйвер).withTimeout(45, TimeUnit.SECONDS).pollingevery(5, TimeUnit.SECONDS) ).ignoring(NoSuchElementException.class); |
FluentWait в основном использует два параметра – значение времени ожидания и частоту опроса. В приведенном выше синтаксисе мы взяли значение тайм-аута как 45 секунд и частоту опроса как 5 секунд. Максимальное время (45 секунд) ожидания условия и частота (5 секунд) проверки выполнения или невыполнения указанного условия. Если элемент находится в этом временном интервале, он выполнит операции, в противном случае он выдаст «ElementNotVisibleException»
Тестовый скрипт с объяснением — Selenium FluentWait:
Найдите пример сценария (с использованием Java), упомянутый ниже. Выполните его, чтобы увидеть функциональность Selenium FluentWait.Java
1234567891011121314151617181920212223242526272829303132333435363738394041 | ожидания пакета; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.NoSuchElementException; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org. .openqa.selenium.firefox.FirefoxDriver;импорт org.openqa.selenium.support.ui.FluentWait; //FluentWait — это класс, и он является частью этого packageimport org.testng.annotations.Test; импортировать com.google.common.base.Function; открытый класс FluentWaitClass {@Testpublic static void fluentWaitMethod(){System.setProperty(“webdriver.gecko.driver”,”D://Selenium Environment//Drivers//geckodriver.exe”); Драйвер WebDriver = new FirefoxDriver(); driver.get(“http://softwaretestingplace.blogspot.com/2017/02/selenium-fluent-wait.html”); driver.findElement(By.xpath(“//*[@id='post-body- 5280210221385817166']/div[1]/button”)).click();FluentWait<WebDriver> wait = new FluentWait<WebDriver>(драйвер) .withTimeout(30, TimeUnit.SECONDS) .pollingEvery(5, TimeUnit.SECONDS) .игнорирование(NoSuchElementException.класс); Элемент WebElement = wait.until(новая функция<WebDriver, WebElement>() {применить общедоступный WebElement(драйвер WebDriver) {элемент WebElement = driver.findElement(By.xpath(“//*[@id='softwareTestingMaterial']”) );String getTextOnPage = element.getText();if(getTextOnPage.equals(“Материалы по тестированию программного обеспечения – ДЕМО-СТРАНИЦА”)){System.out.println(getTextOnPage);return element;}else{System.out.println(” FluentWait Failed”); return null;}}});}} |
Если вы не являетесь постоянным читателем моего блога, я настоятельно рекомендую вам подписаться на бесплатную рассылку по электронной почте, используя ссылку ниже.
Подпишитесь и получайте бесплатную электронную книгу и регулярные обновления от SoftwareTestingMaterial.com
TAG: qa