Junior — Middle
Aké typy očakávaní môžeš uviesť v kontexte vývoja softvéru?
sobes.tech AI
Odpoveď od AI
V kontexte vývoja softvéru sa rozlišujú rôzne typy očakávaní (expectations), najmä pri testovaní a automatizácii:
- Tvrdé očakávania (Hard waits) — pevne stanovený čas čakania, napríklad
sleep(5). Používajú sa zriedka, pretože sú neefektívne a spomaľujú testy. - Explicitné očakávania (Explicit waits) — čakanie na určitý stav alebo udalosť s časovým limitom. Napríklad čakanie na zobrazenie prvku na stránke.
- Implicitné očakávania (Implicit waits) — nastavenie doby čakania na hľadanie prvkov, počas ktorej sa driver bude opakovane pokúšať.
- Udalostné očakávania (Event-based waits) — čakanie na konkrétnu udalosť, napríklad dokončenie nahrávania súboru.
Príklad explicitného čakania v Pythone s Selenium:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, 'myElement')))