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