Sobes.tech
Junior — Middle

Proqramlaşdırma və ya avtomatlaşdırma sistemində açıq, örtülü gözləntilər və fasilə gözləmə mexanizmi arasındakı fərqləri izah edin.

sobes.tech Süni İntellekt

AI-dan cavab

Proqramlaşdırma və test avtomatlaşdırmasında, skriptlərin icrasını tətbiqin vəziyyəti ilə sinxronlaşdırmağa kömək edən müxtəlif gözləmə növləri mövcuddur:

  • Aydın gözləmələr (Explicit waits) — kodda açıq şəkildə təyin olunan və müəyyən bir şərtin (məsələn, elementin görünməsi) müəyyən vaxt ərzində gözlənilməsini təmin edən gözləmələrdir. Əgər şərt daha əvvəl yerinə yetərsə, icra dərhal davam edir.

  • İmplicit gözləmələr (Implicit waits) — sürücüyə ümumi tənzimləmədir və elementləri axtararkən, əgər element dərhal tapılmazsa, müəyyən bir vaxt gözləməsinə səbəb olur. İmplicit gözləmələr bütün element axtarış əməliyyatlarına tətbiq olunur.

  • Gözləmə mexanizmi (Sleep) — bu, sadə gecikmədir və tətbiqin vəziyyətindən asılı olmayaraq, müəyyən bir vaxt üçün icranı dayandırır. Nadir hallarda istifadə olunur, çünki səmərəsizdir və testləri yavaşlada bilər.

Python ilə Selenium nümunəsi:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time

driver = webdriver.Chrome()

# İmplicit gözləmə
driver.implicitly_wait(10)  # elementləri axtararkən 10 saniyə gözləyin

# Explicit gözləmə
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, 'myElement')))

# Gecikmə
time.sleep(5)  # sadəcə 5 saniyə gözləyirik