Sobes.tech
Junior — Middle

Avtomatlaşdırılmış testlərdə və ya proqramlaşdırmada genişləndirilmiş gözləmə mexanizmi Fluent Wait nədir izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Fluent Wait avtomatlaşdırılmış testlərdə inkişaf etmiş gözləmə mexanizmi olub, elementin görünməsini və ya şərtin yerinə yetirilməsini çevik şəkildə tənzimləməyə imkan verir. Sadə açıq gözləmədən fərqli olaraq, Fluent Wait aşağıdakıları təyin etməyə imkan verir:

  • Ümumi maksimum gözləmə vaxtı
  • Sorğulama tezliyi (şərti nə vaxt və nə qədər tez yoxlamaq)
  • Gözləmə zamanı nəzərə alınmaması lazım olan istisnalar (məsələn, NoSuchElementException)

Bu, element gecikməli olaraq görünə biləndə və ya dinamik dəyişəndə faydalıdır və sadəcə müəyyən bir vaxt gözləmək yerinə, şərti müəyyən intervallarla yoxlamaq və müvəqqəti xətaları görməzlikdən gəlmək lazımdır.

Java və Selenium ilə nümunə:

Wait<WebDriver> wait = new FluentWait<>(driver)
    .withTimeout(Duration.ofSeconds(30))
    .pollingEvery(Duration.ofSeconds(5))
    .ignoring(NoSuchElementException.class);

WebElement element = wait.until(driver -> driver.findElement(By.id("myElement")));

Burada, 30 saniyəyə qədər gözləyirik, hər 5 saniyədə bir elementin mövcudluğunu yoxlayırıq və müvəqqəti istisnaları görməzlikdən gəlirik.